arakiken / mlterm

Other
156 stars 14 forks source link

MLTERM - Multi Lingual TERMinal emulator

COMPILATION

$ ./configure $ make

Options for configure

--prefix Installation prefix

--disable-dl-table Disable dynamic loading of character mapping or property table, which is statically linked to libmef.

--without-map-table Remove character mapping table

--without-prop-table Remove unicode character property table

--with-iconv Use iconv to convert between different character sets. (If --with-iconv is specified, --disable-dl-table is the default.)

--with-gui=(xlib|win32|fb|quartz|console|wayland|sdl2|beos) Use specified gui library See "Supported platforms" below.

--with-imagelib=(gdk-pixbuf) Link specified image library to mlterm for image processing. Note that this option is not necessary for image processing, because mlimgloader (see --with-tools) processes images instead and passes them to mlterm. This option is recommended only if you build libvte which depends on gdk-pixbuf anyway. (Imlib is not supported since mlterm 3.0.2)

--with-libltdl Load modules with libltdl

--with-type-engines=(xcore|xft|cairo) Use specified type engines for rendering text. xcore is possible to disable only when --with-type-engines=(except xcore) is specified with --disable-dl-type option.

--disable-anti-alias Same as --with-type-engines=xcore on xlib. (--enable-anti-alias is the same as --with-type-engines=xcore,xft,cairo) This option is ignored if --with-type-engines is specified on xlib.

Disable truetype fonts on framebuffer or wayland.

--disable-fontconfig Disable fontconfig (use ~/.mlterm/*aafont) on framebuffer or wayland.

--disable-dl-type Disable dynamic loading of type engine modules, which are statically linked to mlterm.

--disable-fribidi Disable BiDi rendering (see https://github.com/arakiken/mlterm/blob/master/doc/en/README.bidi)

--disable-ind Use libind for Indic rendering (see https://github.com/arakiken/mlterm/blob/master/doc/en/README.indic)

--disable-dl-ctl Disable dynamic loading of BiDi and Indic rendering modules, which are statically linked to mlterm.

--disable-ssh2 Disable to connect ssh2 server. If enabled, libssh2 (https://www.libssh2.org) is used to connect ssh2 server. (Usage: mlterm(mlclient) --serv ssh://user@xxx.xxx.xxx) If you want to use camellia as common key cryptography or SSH agent forwarding, install alternative libssh2 of camellia-agentfwd branch at https://github.com/arakiken/libssh2/archive/camellia-agentfwd.zip (see https://github.com/arakiken/mlterm/blob/master/doc/en/README.ssh and https://github.com/arakiken/mlterm/blob/master/doc/en/README.transfer)

--with-mosh=(mosh source directory) Enable mosh and specify its source directory, where ./configure script should be executed in advance. This option is available only if libssh2 is enabled. Don't distribute libptymosh in binary format. (see see https://github.com/arakiken/mlterm/blob/master/doc/en/README.mosh)

--without-pthread Don't depend on pthread for secure copy (scp) over ssh. (Furthermore, don't link libpthread to mlterm in NetBSD even if --enable-ibus or --with-type-engines=cairo is specified.)

--enable-debug Build debug version

--enable-optimize-redrawing Optimize redrawing a line

--with-scrollbars Build specified scrollbars in scrollbar/ and contrib/scrollbar/ directories

--with-tools Build specified tools in tool/ and contrib/tool/ directories mlimgloader is automatically added unless --disable-image or --with-imagelib is specified. registobmp is necessary to process ReGIS.

--disable-use-tools Don't build and use external tools. If this option is specified, --with-tools option is ignored.

--disable-dnd Disable XDnD

--disable-kbd Disable kbd input method which converts US keyboard characters to other keyboard layouts such as arabic and hebrew.

--disable-iiimf Disaable IIIMF (Internet/Intranet Input Method Framework)

--disable-uim Disable uim (Universal? Input Method)

--disable-m17nlib Disable m17n library

--disable-scim Disable SCIM (Smart Common Input Method platform)

--disable-ibus Disable iBUS (Intelligent Input Bus)

--disable-fcitx Disable Fcitx If Fcitx is enabled, fcitx-gclient or Fcitx5GClient is necessary.

--disable-canna Disable Canna

--disable-wnn Disable Freewnn

--disable-skk Disable SKK

--enable-pty-helper Support gnome-pty-helper. (Note that it is impossible to enable gnome-pty-helper in BSD style pty system and that gnome-pty-helper must be placed at ${libexecdir}/mlterm directory.)

--with-gtk=(2.0|3.0|4.0) Use specified version of GTK+ (4.0 is available for mlconfig. libvte compatible library and mlterm-menu continue to need 2.0 or 3.0.)

--enable-vt52 Support vt52 emulation

--disable-image Disable wall picture, icon picture, pseudo transparency and sixel graphics.

--disable-otl Disable Open Type Layout with the use of harfbuzz or libotf.

--enable-brlapi Enable brltty with the use of brlapi library. (Experimental) (see https://github.com/arakiken/mlterm/blob/master/doc/en/README.brltty)

--enable-utmp-suid Install mlterm binary with root setuid or utmp setgid to access to utmp database directly. The default is disabled.

--with-utmp=(utempter|sysv|login|bsd|none) Specify the way of reading from or writing to utmp database.

--disable-daemon Disable daemon mode

--disable-split Disable to split screen except on MacOSX/Cocoa and HaikuOS.

--disable-zmodem Disable zmodem (see https://github.com/arakiken/mlterm/blob/master/doc/en/README.transfer)

--disable-compact-truecolor Disable to reuse 240 palettes in displaying true color. Disabling this option supports true color completely, but sizeof(vt_char_t) is changed from 8 bytes to 12 bytes.

--disable-shared Disable shared libraries

--disable-static Disable static libraries

If you want to minimize mlterm binary, execute configure with following options. --without-map-table --without-prop-table --disable-image --disable-dl-ctl \ --disable-fribidi --disable-dl-type --disable-otl \ --disable-ssh2 --with-utmp=none --disable-dnd --disable-kbd --disable-uim \ --disable-m17nlib --disable-ibus --disable-fcitx --disable-scim --disable-canna \ --disable-wnn --disable-skk --disable-iiimf --disable-ind --with-type-engines=xcore \ --disable-anti-alias --disable-fontconfig --disable-daemon --disable-split \ --disable-zmodem --disable-compact-truecolor (--disable-shared)

What you need for compilation

All you need for basic compilation is libc and Xlib. You don't need internationalization support of OS because mlterm has own i18n code.

XFree86 4.0.2 or above and FreeType 2.0.2 or above are needed for anti-alias.

gdk-pixbuf (Gtk+ 2.0.1 or higher) or libpng (1.6 or later) for background image.

Gtk+ (2.x ?) for GUI configurator "mlconfig" and "mlterm-menu".

Gtk+ (2.x ?) for libvte compatible library. (see gtk/README)

Fribidi (0.9.0 - ?) for Bidi.

libssh2 (https://www.libssh2.org) for ssh2 client and scp. (If you want to use camellia as common key cryptography or SSH agent forwarding, install alternative libssh2 of camellia-agentfwd branch at https://github.com/arakiken/libssh2/archive/camellia-agentfwd.zip)

Compilation of library based on mlterm

vte compatible library

$ make vte (see https://github.com/arakiken/mlterm/blob/master/gtk/README)

libvterm compatible library

$ make vterm (see https://github.com/arakiken/mlterm/blob/master/libvterm/README)

Supported platforms

Platforms tested by developers.

USAGE

$ mlterm

Read the manpage (and documentations in mlterm-x.x.x/doc/{ja,en}) for detail. See ~/.mlterm/msg.log on error.

CONTACT

Subscribe mlterm-dev-en ML (https://lists.sourceforge.net/lists/listinfo/mlterm-dev-en).

COPYRIGHT AND LICENSE

Modified BSD-style license. See LICENCE file for detail.