Note for development
- Add entry to TERATERM.INI
- Support i18n message
- What to do when new macro command is added?
- Naming rule to add menu ID
- Icon
- Parts that need to be corrected when update a library
- Dump
Add entry to TERATERM.INI
Entry name
Unfortunately, the confusing entries such as EnableFoo... and DisableBar... are included.
It recommends that the new name like as Baz....
Changes
- source code
- read/write INI file
teraterm\ttpset\ttset.c
- struct tttset
teraterm\common\tttypes.h
- Document
- All items of Tera Term setup file
setup/teraterm-ini.html
- help for setup dialog (when UI for change is present in a dialog)
dialog page under menu
- help for setup item (when UI for change is not present in a dialog)
category page under setup
- Default INI file
installer\release\TERATERM.INI
Support i18n message
Add new i18n message
- Source code
Read langage file
- If a message is on dialog, put English message as default text
- Modify language file
Modify files under installer/release/lang_utf8 folder.
- English.lng (English)
- Add English message.
- Describe today as message update date.
- Last translate date is not present in this file.
- This language file is not read from program. This is a reference for translate to other language.
- Japanese.lng (Japanese)
- Add Japanese message.
- Describe today as message update date.
- Last translate date is not present in this file.
- Modify other language file
- Add English message
- Describe today as message update date.
- Do not update last translate date, because translation is not updated.
Translate i18n message
- Modify language file
- Translate English message in language file to target language.
- Do not update update date.
- Describe today as last translate date.
What to do when new macro command is added?
- Coding
- get a new number of command internal ID.
... teraterm/ttmacro/ttmparse.h
- add a if statement to below function.
... CheckReservedWord@teraterm/ttmacro/ttmparse.c
- add a caller doing the macro command.
... ExecCmnd@teraterm/ttmacro/ttl.c
- make a function code for the macro command.
- Help topic
- make the command help file.
... doc/LANG/html/macro/command/hogefunc.html
- add to command index page.
... doc/LANG/html/macro/command/index.html
- add the file to help topic.
... doc/LANG/teraterm.hhc
- get a new number of context ID in help page.
The value is internal ID + 92000.
... teraterm/common/helpid.h
- make the alias between context ID and calling file.
Open the .hhp file by using Text Editor, added a html line in [ALIAS] tag.
... doc/LANG/teraterm.hhp
The first digit is 5.
The second digit is:
Tera Term VT window 0
Tera Term TEK window 1
TTSSH 2
TTProxy 3
TTXKanjiMenu 4
The third digit is:
[File] menu 1
[Edit] menu 2
[Setup] menu 3
[Control] menu 4
[Window] menu 8
[Help] menu 9
Example: adding a TTSSH menu under File menu
#define ID_SSHSCPMENU 52110
Icon
Icon file includes 4bit 32px and 16px images, 32bit 256px, 48px, 32px and 16px images.
Each icon files include following kind images.
T (Tera Term)
icon file | icon name | 4bit 32px | 4bit 16px | 32bit 256px | 32bit 48px | 32bit 32px | 32bit 16px |
teraterm\common\teraterm.ico | TTERM (Default) | BMP | BMP | PNG | BMP | BMP | BMP |
teraterm\common\teraterm_classic.ico | TTERM_CLASSIC | BMP | BMP | - | - | - | - |
teraterm\common\teraterm_3d.ico | TTERM_3D | BMP | BMP | PNG | BMP | BMP | BMP |
teraterm\common\teraterm_flat.ico | TTERM_FLAT | BMP | BMP | PNG | BMP | BMP | BMP |
VT (VT Window)
icon file | icon name | 4bit 32px | 4bit 16px | 32bit 256px | 32bit 48px | 32bit 32px | 32bit 16px |
teraterm\common\vt.ico | VT (Default) | BMP | BMP | PNG | BMP | BMP | BMP |
teraterm\common\vt_classic.ico | VT_CLASSIC | BMP | BMP | - | - | - | - |
teraterm\common\vt_3d.ico | VT_3D | BMP | BMP | PNG | BMP | BMP | BMP |
teraterm\common\vt_flat.ico | VT_FLAT | BMP | BMP | PNG | BMP | BMP | BMP |
TEK (TEK Windows)
icon file | icon name | 4bit 32px | 4bit 16px | 32bit 256px | 32bit 48px | 32bit 32px | 32bit 16px |
teraterm\common\tek.ico | TEK | BMP | BMP | - | - | - | - |
M (Macro)
icon file | icon name | 4bit 32px | 4bit 16px | 32bit 256px | 32bit 48px | 32bit 32px | 32bit 16px |
teraterm\ttpmacro\ttmacro.ico | - | BMP | BMP | PNG | BMP | BMP | BMP |
teraterm\ttpmacro\ttmacro_3d.ico | - | BMP | BMP | PNG | BMP | BMP | BMP |
teraterm\ttpmacro\ttmacro_flat.ico | - | BMP | BMP | PNG | BMP | BMP | BMP |
MF (Macro File)
icon file | icon name | 4bit 32px | 4bit 16px | 32bit 256px | 32bit 48px | 32bit 32px | 32bit 16px |
teraterm\ttpmacro\ttmacrof.ico | - | BMP | BMP | PNG | BMP | BMP | BMP |
keycode
icon file | icon name | 4bit 32px | 4bit 16px | 32bit 256px | 32bit 48px | 32bit 32px | 32bit 16px |
teraterm\keycode\keycode.ico | - | BMP | BMP | - | BMP | - | - |
TTSSH
icon file | icon name | 4bit 32px | 4bit 16px | 32bit 256px | 32bit 48px | 32bit 32px | 32bit 16px |
teraterm\ttpmacro\ttsecure.ico | flat2 (Default) | BMP | BMP | PNG | BMP | BMP | BMP |
teraterm\ttpmacro\ttsecure_classic.ico | classic | BMP | BMP | - | - | - | - |
teraterm\ttpmacro\ttsecure_yellow.ico | yellow | BMP | BMP | PNG | BMP | BMP | BMP |
teraterm\ttpmacro\ttsecure_green.ico | green | BMP | BMP | PNG | BMP | BMP | BMP |
teraterm\ttpmacro\ttsecure_flat.ico | flat | BMP | BMP | PNG | BMP | BMP | BMP |
TeraTerm Menu
icon file | icon name | 4bit 32px | 4bit 16px | 32bit 256px | 32bit 48px | 32bit 32px | 32bit 16px |
ttpmenu\teraterm.ico | - | BMP | BMP | - | BMP | BMP | BMP |
Cygterm+
icon file | icon name | 4bit 32px | 4bit 16px | 32bit 256px | 32bit 48px | 32bit 32px | 32bit 16px |
cygwin\cygterm\cygterm.ico | CYGTERM | BMP | BMP | - | BMP | BMP | BMP |
The store order of image files in icon file is "bit depth ASC", "pixel size DESC."
Otherwise, when a program load an icon image without specifying pixel size for get maximum size image, API returns first image.
Icon file include 4-bit images.
Windows NT 4.0 supports only 4-bit icon. And notification area icon on Windows 2000 supports only 4-bit icon.
4-bit color palette is followings:
| #000000 | (0,0,0) |
| #800000 | (128,0,0) |
| #ff0000 | (255,0,0) |
| #ff00ff | (255,0,255) |
| #008080 | (0,128,128) |
| #008000 | (0,128,0) |
| #00ff00 | (0,255,0) |
| #00ffff | (0,255,255) |
| #000080 | (0,0,128) |
| #800080 | (128,0,128) |
| #0000ff | (0,0,255) |
| #c0c0c0 | (192,192,192) |
| #808080 | (128,128,128) |
| #808000 | (128,128,0) |
| #ffff00 | (255,255,0) |
| #ffffff | 255,255,255 |
Source file of each icon images are followings:
source file |
bit |
T |
VT |
Macro |
SSH |
Cygwin |
teraterm\common\flat_icon_16.psd |
4bit |
v |
v |
v |
v |
v |
32bit |
v |
v |
v |
v |
v |
teraterm\common\flat_icon_32.psd |
4bit |
v |
v |
v |
v |
v |
32bit |
v |
v |
v |
v |
v |
teraterm\common\flat_icon_48.psd |
32bit |
v |
v |
v |
v |
v |
teraterm\common\flat_icon_256.psd |
32bit |
v |
v |
v |
v |
- |
source file |
bit |
Keycode |
teraterm\common\keycode_48.psd |
4bit |
v |
source file |
bit |
T |
VT |
Macro |
Macro File |
SSH |
Cygwin |
teraterm\common\flat2_icon_16.psd |
4bit |
v |
v |
v |
v |
v |
v |
32bit |
v |
v |
v |
v |
v |
v |
teraterm\common\flat2_icon_32.psd |
4bit |
v |
v |
v |
v |
v |
v |
32bit |
v |
v |
v |
v |
v |
v |
teraterm\common\flat2_icon_48.psd |
32bit |
v |
v |
v |
v |
v |
v |
teraterm\common\flat2_icon_256.psd |
32bit |
v |
v |
v |
v |
v |
- |
Parts that need to be corrected when update a library
Files
- doc/(en|ja)/html/about/history.html
- Add to "Misc" section of a component which uses the library.
- doc/(en|ja)/html/reference/develop.html
- libs/download.cmake
- Modify version in SRC_URL
- Modify version in DIR_IN_ARC
- Modify ARC_HASH (for check corruption due to download)
- Use hash from official site. (LibreSSL, Oniguruma, zlib)
- If official site does not post hash, calc it. (argon2, cJSON, SFMT)
- Modify CHECK_HASH (for check version)
- Calc hash of a file for version check.
- Under add/manual folder of TeraTermProject/update_website repository
- License files for web site is managed in TeraTermProject/update_website repository.
Replace a license file when it is cahnged.
Calc hash
% sha256sum foo.bar
% openssl dgst -sha256 foo.bar
Dump
About debug with dump file.
Required Files
- dmp file(mini dump file)
-
Output to folder
%LOCALAPPDATA%\teraterm5
when ttermpro.exe crash.
File name will be teraterm_YYYMMDD-HHMMSS_HASH.dmp.
- pdb file
-
pdb = program database files (symbol files)
debug infomation file for exe file
- exe file
-
ttermpro.exe
How to use
- click dump file to start Visual Studio
- click [Debugging in native only]