Hanterm-xf is a fast and functional X-terminal emulator. Although development of Hanterm-xf ceased long ago, I find hanterm-xf very useful because it has built-in Korean input system and displays Latin, Korean and Unicode well. Trying to find the hanterm-xf source was not so easy, but I found it here. I downloaded hanterm-xf-2.0.6-177.tar.gz. Compiling Hanterm-xf requires the following development packages to be installed:
- gcc
- make
- libncursesw5-dev
- libxft-dev
- libxaw7-dev
Before compiling hanterm-xf, I had to make some symbolic links in /usr/include.
ln -s ncursesw /usr/include/ncurses ln -s freetype2/freetype /usr/include
I unpacked the hanterm-xf source and entered the source directory:
tar xzvf hanterm-xf-2.0.6-177.tar.gz cd hanterm-xf-2.0.6-177
I ran ./configure for hanterm-xf as follows:
./configure --prefix=/usr --host=i586-pc-linux-gnu --enable-doublechars --enable-freetype --enable-i18n --disable-input-method --disable-maximize --enable-pty-handshake --disable-tek4014 --enable-toolbar --disable-vt52 --enable-wide-chars --enable-chat --enable-now-chat
I had to modify the LIBS line of Makefile in order to successfully link hanterm with libncursesw5 later. Basically, I appended -lncursesw at the end of the LIBS line.
LIBS = -lXft -lfreetype -lXrender -lXrender -lXaw -lXmu -lXext -lXt -lSM -lICE -lX11 -lnsl -lncursesw
Then, I compiled hanterm-xf as follows:
make make install
During make, I got an error about xutf8.h and Xlib.h. In response, I just commented the offending lines in xutf8.h.
/* #ifndef _XLIB_H_ #error Please include <X11/Xlib.h> before "xutf8.h" #endif */
Packaging Hanterm-xf 2.0.6
I made a package of hanterm-xf with the following contents:
/usr/bin/hanterm /usr/share/hangul_keyboard/2bul.kbd /usr/share/hangul_keyboard/3bul_390.kbd /usr/share/hangul_keyboard/3bul_final.kbd /usr/share/hangul_keyboard/dvorak.map /usr/share/hangul_keyboard/dvorak_2bul.kbd /usr/share/hangul_keyboard/dvorak_3bul_390.kbd /usr/share/hangul_keyboard/dvorak_3bul_final.kbd /usr/share/man/man1/hanterm.1.gz /etc/X11/app-defaults/Hanterm /etc/X11/app-defaults/Hanterm-color
You can download my hanterm-xf package here.
My .Xresources Setting for Hanterm-xf
To run hanterm-xf, you need a monospace Latin font and a Korean font. Before running hanterm-xf, put hanterm settings in your .Xresources file. The following is my hanterm settings in .Xresrources.
Hanterm*title: Hanterm Hanterm*iconName: Hanterm Hanterm*statusHangulLabel: [KO] Hanterm*statusEnglishLabel: [EN] Hanterm*statusWansungLabel: [WANS] Hanterm*statusJohabLabel: [JHAB] Hanterm*statusSebyolLabel: [3B] Hanterm*statusDubyolLabel: [2B] Hanterm*hangulKeyboard: 2 Hanterm*saveLines: 1024 Hanterm*VT100*color0: black Hanterm*VT100*color1: red Hanterm*VT100*color2: green3 Hanterm*VT100*color3: orange Hanterm*VT100*color4: blue Hanterm*VT100*color5: purple1 Hanterm*VT100*color6: DarkTurquoise Hanterm*VT100*color7: grey90 Hanterm*VT100*color8: grey60 Hanterm*VT100*color9: salmon Hanterm*VT100*color10: PaleGreen1 Hanterm*VT100*color11: khaki1 Hanterm*VT100*color12: DeepSkyBlue Hanterm*VT100*color13: orchid1 Hanterm*VT100*color14: cyan Hanterm*VT100*color15: white Hanterm*background: black Hanterm*foreground: gray90 Hanterm*rightScrollBar: on Hanterm*Scrollbar*width: 16 Hanterm*Scrollbar*background: grey75 Hanterm*Scrollbar*foreground: grey30 Hanterm*SimpleMenu*background: DeepSkyBlue Hanterm*SimpleMenu*foreground: black Hanterm*VT100.cursorBlink: true Hanterm*VT100.cursorColor: orange Hanterm*VT100.hanCursorColor: DarkTurquoise Hanterm*VT100.cutNewline: false Hanterm*VT100.cutToBeginningOfLine: false Hanterm*VT100.Translations: #override \n\ ~Shift ~Ctrl ~MetaBackSpace: string(0x7F)\n\ ~Shift ~Ctrl ~Meta Delete: string(0x1b) string("[3~")\n\ ~Shift ~Ctrl ~Meta Home: string(0x1b) string("[1~")\n\ ~Shift ~Ctrl ~Meta End: string(0x1b) string("[4~")\n\ Shift ~Ctrl ~Meta space: toggle-hangul()\n\ ~Shift Ctrl ~Meta space: hanja-input()\n\ ~Shift Ctrl ~Meta BackSpace: code-input()\n\ ~Shift Ctrl ~Meta Return: toggle-chat()\n\ ~Shift ~Ctrl Meta Up: change-code()\n\ ~Shift ~Ctrl Meta Left: change-keyboard()\n\ ~Shift ~Ctrl ~Meta : scroll-back(5,line)\n\ ~Shift ~Ctrl ~Meta : scroll-forw(5,line)\n\ Shift ~Ctrl ~Meta : scroll-back(1,line)\n\ Shift ~Ctrl ~Meta : scroll-forw(1,line)\n\ ~Shift Ctrl ~Meta : scroll-back(1,halfpage)\n\ ~Shift Ctrl ~Meta : scroll-forw(1,halfpage)\n\ ~Shift ~Ctrl Meta : scroll-back(1,page)\n\ ~Shift ~Ctrl Meta : scroll-forw(1,page) Hanterm*Font: -*-dejavu sans mono-medium-r-normal-*-*-110-*-*-*-*-iso8859-1 Hanterm*hangulFont: -*-hysinmyeongjo-medium-r-normal--*-130-*-*-*-*-ksc5601.1987-0 Hanterm*SimpleMenu*fontSet: -urw-Nimbus Sans L-regular-r-normal-*-*-110-*-*-p-*-iso8859-1,-hanyang-hygothic-medium-r-normal-*-*-110-*-*-*-*-ksc5601.1987-0 Hanterm*VT100*colorULMode: off Hanterm*VT100*colorBDMode: off Hanterm*VT100*colorBD: blue Hanterm*VT100*colorUL: red Hanterm*charClass: 37-38:48,42-43:48,45-47:48,63-64:48 Hanterm*pointerColor: DeepSkyBlue Hanterm*pointerColorBackground: grey40 Hanterm*pointerShape: right_ptr Hanterm*beNiceToColormap: false
After modifying your .Xresources file, reload it.
xrdb -override ~/.Xresources

