Scroll to navigation



xiterm+thai — VT102 emulator for the X window system with Thai support


xiterm+thai [options] [-e command [args]]


xiterm+thai — version 1.10 — is a color vt102 terminal emulator intended as an xterm(1) replacement for users who do not require features such as Tektronix 4014 emulation and toolkit-style configurability. As a result, xiterm+thai uses much less swap space — a significant advantage on a machine serving many X sessions.


The xiterm+thai options (mostly a subset of xterm's) are listed below. In keeping with the smaller-is-better philosophy, options may be eliminated or default values chosen at compile-time, so options and defaults listed may not accurately reflect the version installed on your system.

Note that xiterm+thai permits the resource name to be used as a long-option (--/++ option) so the potential command-line options are far greater than those listed.
For example: `xiterm+thai --loginShell --color1 Orange'.

Print out a message describing available options.
Attempt to open a window on the named X display (-d still respected). In the absence of this option, the display specified by the DISPLAY environment variable is used.
Window geometry (-g still respected); resource geometry.
Turn on/off simulated reverse video; resource reverseVideo.
Window background color; resource background.
Window foreground color; resource foreground.
Specify XPM file for the background and also optionally specify its scaling with a geometry string; resource backgroundPixmap.
The cursor color; resource cursorColor.
Main normal text font; resource font.
Main bold text font; resource boldFont.
Main Kanji font; resource kfont.
Kanji encoding mode; eucj: EUC Japanese encoding. sjis: Shift JIS encoding; resource kanji_encoding.
Greek keyboard translation; iso: ISO-8859 mapping. ibm: IBM-437 mapping; resource greek_keyboard.
Space count to trigger compensation for Thai rendering; default is 2; resource thai_space.
Thai keyboard translation; tis: TIS-820.2538; ket: traditional Ketmanee; default is ket; resource thai_keyboard.
Thai input method (based on XIM); BasicCheck: weak sequence check for character composition; Strict: strong check for orthographic rules; Passthrough: no check; if unset, value described in the XMODIFIERS environment is used; resource thai_im.
Specify the application name under which resources are to be obtained, rather than the default executable file name. Name should not contain `.' or `*' characters. Also sets the icon and title name.
Start as a login-shell/sub-shell; resource loginShell.
Inhibit/enable writing a utmp entry; resource utmpInhibit.
Turn on/off visual bell on receipt of a bell character; resource visualBell.
Turn on/off scrollbar; resource scrollBar.
Start iconified, if the window manager supports that option.
Save number lines in the scrollback buffer; resource saveLines.
Run the command with its command-line arguments in the xiterm+thai window. If this option is used, it must be the last on the command-line. If there is no -e option then the default is to run the program specified by the SHELL environment variable or, failing that, sh(1).
Window title (-T still respected); resource title.
Icon name; resource iconName.
Capture system console messages.

RESOURCES (available also as long-options)

xiterm+thai accepts application defaults set in XAPPLOADDIR/Xiterm (compile-time defined: usually /usr/lib/X11/app-defaults/Xiterm) and resources set in ~/.Xdefaults or ~/.Xresources. Note that when reading X resources, xiterm+thai recognizes two class names: XTerm and Xiterm. The class name XTerm allows resources common to both xiterm+thai and xterm to be easily configured, while the class name Xiterm allows resources unique to xiterm+thai, notably colors and key-handling, to be shared between different xiterm+thai configurations. If no resources are specified, suitable defaults will be used. Command-line arguments can be used to override resource settings. The following resources are allowed:

Create the window with the specified X window geometry [default 80x24]; option -geometry.
Use the specified color as the window's background color [default White]; option -bg.
Use the specified color as the window's foreground color [default Black]; option -fg.
Use the specified color for the color value n, where 0-7 corresponds to low-intensity (normal) colors and 8-15 corresponds to high-intensity (bold = bright foreground, blink = bright background) colors. The canonical names are as follows: 0=black, 1=red, 2=green, 3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white, but the actual color names used are listed in the COLORS AND GRAPHICS section.
Use the specified color to display bold characters when the foreground color is the default.
Use the specified color to display underlined characters when the foreground color is the default.
Use the specified color for the cursor. The default is to use the foreground color; option -cr.
Use the specified color for the color of the cursor text. For this to take effect, cursorColor must also be specified. The default is to use the background color.
Use the specified color for the cursor while in Thai mode. The default is to use the foreground color.
True: simulate reverse video by foreground and background colors; option -rv, False: regular screen colors [default]; option +rv. See note in COLORS AND GRAPHICS section.
Use the specified color for the scrollbar [default #B2B2B2].
Use the specified XPM file (note the `.xpm' extension is optional) for the background and also optionally specify its scaling with a geometry string WxH+X+Y, in which W/H specify the horizontal/vertical scale (percent) and X/Y locate the image centre (percent). A scale of 0 displays the image with tiling. A scale of 1 displays the image without any scaling. A scale of 2 to 9 specifies the number of images in that direction. No image will be magnified beyond 10 times its original size. The maximum permitted scale is 1000. [default 100x100+50+50]
Specify the colon-delimited search path for finding XPM files, in addition to the paths specified by the RXVTPATH and PATH environment variables.
Select the main text font used [default 7x14]; option -fn.
Specify the alternative font n. The default font values:

font: 7x14 font1: 6x10 font2: 6x13 font3: 8x13 font4: 9x15

Specify the name of the bold font to use if colorBD has not been specified and it is not possible to map the default foreground color to color 8-15 [default NONE]. This font must be the same height and width as the normal font; option -fb.
Select the main Kanji text font used [default k14]; option -fk.
Specify the alternative Kanji font n. If compiled for Kanji, the Roman and Kanji font sizes should match. The default font values:

font: 7x14 font1: 8x16 font2: 9x18 font3: 12x24 font4: 13x26 kfont: k14 kfont1: jiskan16 kfont2: jiskan18 kfont3: jiskan24 kfont4: jiskan26

Set the Kanji encoding mode to be used; eucj: EUC Japanese encoding [default]. sjis: Shift JIS encoding; option -km.
Set the Greek keyboard translation mode to be used; iso: ISO-8859 mapping (elot-928) [default]. ibm: IBM-437 mapping (DOS codepage 737); option -grk. Use Mode_switch to toggle keyboard input. For more details, see the distributed file README.greek.
Set the space count to trigger space compensation for previous combining marks; default value is 2; option -tsp.
Set the Thai keyboard translation map to use; tis: TIS-820.2538 map; ket: traditional Ketmanee map; default value is ket; option -tkb.
Set the Thai input method (based on XIM) to use; BasicCheck: weak sequence check for character composition; Strict: strong check for orthographic rules; Passthrough: no check; if unset, value described in the XMODIFIERS environment is used; option -tim.
Set window title string, the default title is the command-line specified after the -e option, if any, otherwise the application name; option -title.
Set the name used to label the window's icon or displayed in an icon manager window, it also sets the window's title unless it is explicitly set; option -n.
True: de-iconify (map) on receipt of a bell character. False: no de-iconify (map) on receipt of a bell character [default].
True: use visual bell on receipt of a bell character; option -vb. False: no visual bell [default]; option +vb.
True: start as a login shell by prepending a `-' to argv[0] of the shell; option -ls. False: start as a normal sub-shell [default]; option +ls.
True: inhibit writing record into the system log file utmp; option -ut. False: write record into the system log file utmp [default]; option +ut.
Specify a command pipe for vt100 printer [default lpr(1)]. Use Print to initiate a screen dump to the printer and Ctrl-Print or Shift-Print to include the scrollback as well.
True: enable the scrollbar [default]; option -sb. False: disable the scrollbar; option +sb. Note that the scrollbar position (left/right) and its type (with/without arrows) is compile-time selected.
If enabled, use Alt-keysym to toggle to a smaller font [default Alt-<].
If enabled, use Alt-keysym to toggle to a bigger font [default Alt->].
Save number lines in the scrollback buffer [default 64]; option -sl.
True: handle Meta (Alt) + keypress to set the 8th bit. False: handle Meta (Alt) + keypress as an escape prefix [default].
The characters used as delimiters for double-click word selection. The built-in default:
TAB SPACE BACKSLASH `"'&()*,;<=>?@[]{|}
Associate string with keysym sym (0xFF00 - 0xFFFF). It may contain escape values (\a: bell, \b: backspace, \e, \E: escape, \n: newline, \r: return, \t: tab, \000: octal number) or control characters (^?: delete, ^@: null, ^A ...) and may enclosed with double quotes so that it can start or end with whitespace. The intervening resource name keysym. cannot be omitted. This resource is only available when compiled with FAKE_RESOURCES.


Lines of text that scroll off the top of the xiterm+thai window (resource: saveLines) and can be scrolled back using the scrollbar or by keystrokes. The normal xiterm+thai scrollbar has arrows and its behaviour is fairly intuitive. The xterm-scrollbar is without arrows and its behaviour mimics that of xterm.

Scroll down with Button1 (xterm-scrollbar) or Shift-Next.
Scroll up with Button3 (xterm-scrollbar) or Shift-Prior.
Continuous scroll with Button2.


To temporarily override mouse reporting, for either the scrollbar or the normal text selection/insertion, hold either the Shift or the Meta (Alt) key while performing the desired mouse action.

If mouse reporting mode is active, the normal scrollbar actions are disabled — on the assumption that we are using a fullscreen application. Instead, pressing Button1 and Button3 sends ESC[6~ (Next) and ESC[5~ (Prior), respectively. Similarly, clicking on the up and down arrows sends ESC[A (Up) and ESC[B (Down), respectively.


The behaviour of text selection and insertion mechanism is similar to xterm.

Left click at the beginning of the region, drag to the end of the region and release; Right click to extend the marked region; Left double-click to select a word; Left triple-click to select the entire line.
Pressing and releasing the Middle mouse button (or Shift-Insert) in an xiterm+thai window causes the current text selection to be inserted as if it had been typed on the keyboard.


You can change fonts on-the-fly, which is to say cycle through the default font and others of various sizes, by using Shift-KP_Add and Shift-KP_Subtract. Or, alternatively (if enabled) with Alt-> and Alt-<, where the actual key can be selected using resources smallfont_key/bigfont_key.


xiterm+thai tries to write an entry into the utmp file (usually /etc/utmp), so that it can be seen via the who(1) command, and can accept messages. To allow this feature, xiterm+thai must be installed setuid root.


If graphics support was enabled at compile-time, xiterm+thai can be queried with ANSI escape sequences and can address individual pixels instead of text characters. Note the graphics support is still considered beta code.

In addition to the default foreground and background colors, xiterm+thai can display up to 16 colors (8 ANSI colors plus high-intensity bold/blink versions of the same). Here is a list of the colors with their rgb.txt names.

color0 (black) = Black color1 (red) = Red3 color2 (green) = Green3 color3 (yellow) = Yellow3 color4 (blue) = Blue3 color5 (magenta) = Magenta3 color6 (cyan) = Cyan3 color7 (white) = AntiqueWhite color8 (bright black) = Grey25 color9 (bright red) = Red color10 (bright green) = Green color11 (bright yellow) = Yellow color12 (bright blue) = Blue color13 (bright magenta) = Magenta color14 (bright cyan) = Cyan color15 (bright white) = White foreground = Black background = White

It is also possible to specify the color values of foreground, background, cursorColor, cursorColor2, colorBD, colorUL as a number 0-15, as a convenient shorthand to reference the color name of color0-color15.

Note that -rv (reverseVideo: True) simulates reverse video by always swapping the foreground/background colors. This is in contrast to xterm where the colors are only swapped if they have not otherwise been specified. For example,

would yield White on Black, while on xterm it would yield Black on White.


xiterm+thai sets the environment variables TERM, COLORTERM and COLORFGBG. The environment variable WINDOWID is set to the X window id number of the xiterm+thai window and it also uses and sets the environment variable DISPLAY to specify which display terminal to use. xiterm+thai uses the environment variables RXVTPATH and PATH to find XPM files.


System file for login records.
Color names.


xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5)


Selecting/pasting very large chunks of text is a problem. But as is the case for xterm, it is a bug of the pseudo terminal driver of those systems.

xiterm+thai 1.0 has the utmp support cleaned-up and supports utmpx (i.e. Solaris 2.x) but there are still some problems. Please inform the maintainer of the correct solutions to utmp problems since he doesn't have root access of his own to test utmp.

Cursor change support is not yet implemented.

Click-and-drag doesn't work with X11 mouse report overriding.

Graphics support is fairly crude.

For some fonts there are problems with pixel-droppings being left behind when simulated bold (overstrike) precedes a space character. Fixing xiterm+thai to handle these cases requires a lot of energy. So the easiest course by far is to specify a boldFont, specify colorBD or, if it was compiled without NO_BRIGHTCOLOR, to select a foreground color that matches the pixel values of color 0-7 so that overstrike bold won't be used.

Like xterm, xiterm+thai handles mono-space fonts only, and only TIS-620 fonts are supported.


John Bovey, University of Kent, 1992.

Very very very heavily modified by Rob Nation <>

Greek keyboard input: Angelo Haritsis <>

Utmpx addition (Solaris 2.x) and extensive reworking of pseudo-tty handling and addition of BSD sgtty terminal handling support by Raul Garcia Garcia <> 16/10/95.

mj olesen <olesen@me.QueensU.CA> (changes.txt 2.11 to 2.20)

Thai language support: Vuthichai Ampornaramveth <>


Theppitak Karoonboonyanan <>



5 3rd Berkeley Distribution