Uim/Configuration

Uim may be configured in two ways, either in a configuration file or through a graphical interface.

The main configuration options are which input methods are used and the keyboard shortcuts to activate them.

Graphical interface
There are two identical graphical interfaces: One for GTK+ and the other for Qt, called  and , respectively. Below is a list of configuration settings as they are laid out in the interface, along with the configuration settings as they appear in the configuration file which is in ~/.uim.d/customs.

Input method deployment

 * Specify default IM )
 * Default input method ( is set to "#f" if the above is "#f" but otherwise to )
 * Enabled input methods

Input method switching

 * Enable IM switching by hotkey
 * IM switching key (,   (make-key-predicate '("Shift_key" "Control_key"))) )
 * Skip direct method for IM switching by hotkey

Input method toggle

 * Enable IM toggle by hotkey
 * Input method toggle key (,   (make-key-predicate '(" "))) )
 * Alternative input method

Visual preference

 * Preedit color ( {uim-color-uim|uim-color-atok})
 * Candidate window position ( {caret,left,right})
 * Show input method near the cursor
 * Time length for showing input mode near the cursor

Advanced settings

 * Enable lazy input method loading for faster startup

Menu based IM switcher

 * Enable menu-based input method switcher
 * Effective coverage ( {system-global,app-global,focused-context})

Buttons

 * Full featured input method switcher
 * Preference tool
 * Japanese dictionary tool
 * Input pad
 * Handwriting input pad
 * Help

(define anthy-widgets '(widget_anthy_input_mode widget_anthy_kana_input_method)) (define default-widget_anthy_input_mode 'action_anthy_direct) (define anthy-input-mode-actions '(action_anthy_direct action_anthy_hiragana action_anthy_katakana action_anthy_halfkana action_anthy_halfwidth_alnum action_anthy_fullwidth_alnum)) (define default-widget_anthy_kana_input_method 'action_anthy_roma) (define anthy-kana-input-method-actions '(action_anthy_roma action_anthy_kana action_anthy_azik)) (define anthy-utf8-widgets '(widget_anthy_utf8_input_mode widget_anthy_utf8_kana_input_method)) (define default-widget_anthy_utf8_input_mode 'action_anthy_utf8_direct) (define anthy-utf8-input-mode-actions '(action_anthy_utf8_direct action_anthy_utf8_hiragana action_anthy_utf8_katakana action_anthy_utf8_halfkana action_anthy_utf8_halfwidth_alnum action_anthy_utf8_fullwidth_alnum)) (define default-widget_anthy_utf8_kana_input_method 'action_anthy_utf8_roma) (define anthy-utf8-kana-input-method-actions '(action_anthy_utf8_roma action_anthy_utf8_kana action_anthy_utf8_azik)) (define skk-widgets '(widget_skk_input_mode widget_skk_kana_input_method)) (define default-widget_skk_input_mode 'action_skk_latin) (define skk-input-mode-actions '(action_skk_latin action_skk_hiragana action_skk_katakana action_skk_hankana action_skk_wide_latin)) (define default-widget_skk_kana_input_method 'action_skk_roma) (define skk-kana-input-method-actions '(action_skk_roma action_skk_azik))

Candidate window

 * Use EB library to search annotations
 * The dictionary that defines the EB dictionary file ( e.g. "/usr/share/dict")

Pre-edit settings of XIM

 * Use anti-aliased fonts for Over-the-Spot/Root-Window pre-edit.
 * Font name for pre-edit area ( e.g. "VL Gothic")

Configuration file
You can also configure uim by editting a configureation file ~/.uim (see also LIBUIM_USER_SCM_FILE).

The configuration in ~/.uim overrides the configuration by the graphical interface uim-pref. This means that, if the two configurations conflict, the configuration in ~/.uim is always used.

You can use  to check if your Scheme code is valid:

$ uim-sh ~/.uim

If you want to write Japanese characters in the file, make sure that file encoding is EUC-JP.

You may want to append these lines to ~/.uim.

;; vim:ft=scheme:fenc=euc-jp

if you are using Vim and

;; Local Variables: ;; mode: scheme ;; coding: euc-jp ;; End:

if you are using Emacs. These lines tell your editor to open ~/.uim with the Scheme mode and set the file encoding to EUC-JP.

Environment variables
Some values are for uim developers.

In the description below, sys-pkglibdir is "/usr/local/libexec" if you installed uim into "/usr/local". Other possible values of sys-pkglibdir are "/usr/libexec and "/usr/lib/uim". You can use  to get the value of sys-pkglibdir: $ uim-sh uim> (sys-pkglibdir) "/usr/local/libexec" uim> (exit) $

LIBUIM_ENABLE_EMERGENCY_KEY
Enables the emergency key. After you set this variable and start the bridge, you can disable all key processing in uim by pressing Shift+Backspace.

LIBUIM_PLUGIN_LIB_DIR
Specifies the directory where plugin files are put. The default are sys-pkglibdir/plugin, ~/.uim.d/plugin and LD_LIBRARY_PATH.

LIBUIM_SCM_FILES
Specifies the directory where Scheme source files are put. The default are sys-pkgdatadir and ~/.uim.d/plugin.

LIBUIM_USER_SCM_FILE
Specifies the current user's configuration file written in Scheme. The default value is ~/.uim.

You can use this variable to test your configuration file and/or to apply your configuration to limited applications.

Consider that you create a file named latin.scm, put the file in your home directory (~) and write the following code in the file:

(define default-im-name 'latin)

Then run Firefox as follows:

$ LIBUIM_USER_SCM_FILE=~/latin.scm firefox

You can see that Firefox is invoked with the IM engine latin.

LIBUIM_VANILLA
Disables some features in uim. The behavior of uim depends on the specified values:

LIBUIM_VERBOSE
Specifies the verbose level of messages. You need to build with "--enable-debug" to use this variable.

UIM_IM_ENGINE
Specifies IM engine name.