Skip to content

arakiken/mlterm

Repository files navigation

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
-----------------------------

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

  Gtk+ (2.x 3.x 4.x) for GUI configurator "mlconfig".

  Gtk+ (2.x 3.x) for GUI configurator "mlterm-menu".

  Gtk+ (2.x 3.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.

  * NetBSD 3.0.1 / X (x86)
  * NetBSD teokure 9.0 / X, frmebuffer (x86)
  * NetBSD 5.2 / framebuffer (hpcmips)
  * NetBSD 9.0 / framebuffer (xm6g 3.31L15)
  * OpenSolaris 2009.06 / X (CC=cc) (x86)
  * Solaris 11.1 / X (x86)
  * Arch Linux / X, framebuffer, wayland, SDL2 (x86)
  * CentOS 5 / X (x86)
  * FreeBSD 9.0 / framebuffer (x86)
  * FreeBSD 2.2.9 / X (x86)
  * FreeBSD(98) 4.11 / framebuffer (np21w ver.0.86 rev.88)
  * OpenBSD 5.3 / framebuffer (x86)
  * MS Windows 10 + Cygwin 3.4.3 / GDI, SDL2 (CC=gcc, CC="i686-pc-mingw32-gcc") (x86_64)
  * MS Windows 10 + MSYS2 3.1.7 / GDI (x86)
  * MacOSX 10.6.8 / X, Cocoa, SDL2 (x86)
  * MacOSX 10.8.5 / X, Cocoa, SDL2 (x86)
  * iOS Simulator 4.3 / CocoaTouch (x86)
  * iOS Simulator 7.1 / CocoaTouch (x86)
  * Android 4.0 (x86)
  * Android 9.0 (x86)
  * Java 1.8.0 / SWT (x86)
  * Haiku R1 Beta4 / Interface Kit, SDL2 (x86)

  See README.fb, README.win32, README.android, README.cocoa, README.cocoatouch,
  README.console, README.wayland, README.sdl2 and README.beos in
  https://github.com/arakiken/mlterm/blob/master/doc/en and
  README in https://github.com/arakiken/mlterm/blob/master/java in detail.


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.