# System Configuration for uim

This section shows you the configuration steps for uim to be usable on
your system.

## (1) System Configuration

To use uim, you must set some environment variables correctly. You need
to specify these variables and run programs(e.g. uim-xim) in ~/.xsession,
~/.xinitrc, and ~/.gnomerc depending on your system. Example settings is
like this.

```sh GTK_IM_MODULE=uim ; export GTK_IM_MODULE QT_IM_MODULE=uim ; export
QT_IM_MODULE uim-xim & XMODIFIERS=@im=uim ; export XMODIFIERS ```

To use Gtk immodule, you need to generate the immodule file. Please see the
following Gtk Immodule section.

### Using Gtk Immodule

Please set GTK_IM_MODULE environment variable like this.

```sh export GTK_IM_MODULE=uim ```

Then, generate the immodule file like this.

```sh $ gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules ```

or

```sh $ gtk-query-immodules-2.0 im-uim.so > ~/.immodules ```

If you use ~/.immodules, please add the following lines to your setting file
(eg. ~/.xsession, ~/.xinitrc, ...)

```sh GTK_IM_MODULE_FILE=~/.immodules export GTK_IM_MODULE_FILE ```

### Using Qt Immodule

To use Qt immodule, you need Qt4 and build uim with --with-qt4-immodule.
For old Qt3, apply immodule patch for Qt3 and build uim with --with-qt-immodule
configure option. Then, please set QT_IM_MODULE environment variable like this.

```sh export QT_IM_MODULE=uim ```

### Using XIM (X input method) protocol

To input via XIM, you need to set the environment variable XMODIFIERS,
to specify the XIM client.

```sh export XMODIFIERS=@im=uim ```

You can also specify the candidate window program by setting
UIM_CANDWIN_PROG. Currently, uim-candwin-gtk and uim-candwin-qt are available.

```sh export UIM_CANDWIN_PROG=uim-candwin-gtk export
UIM_CANDWIN_PROG=uim-candwin-qt export UIM_CANDWIN_PROG=uim-candwin-qt4 ```

Then, run the uim-xim command. For further detail, please refer to [UimXim
uim-xim].


## (2) Choosing the Default Input Method

Next, you should choose the default input method by running uim-pref-gtk
or uim-pref-qt.

* run uim-pref-(gtk/qt/qt4) * Goto "General settings" section * check "Input
method deployment -> Specify default IM" * choose "Input method deployment ->
Default input method" * If you cannot find the IM that you want to use, press
"Input method deployment -> Enabled input methods -> Edit" and activate the IM.
  * If you cannot find your favorite IM in the list of enabled input methods,
  please check your installation.

## (3) Setting other bridges

uim has other bridges like [[uim.el|UimEl]](for emacs) and
[[uim-fep|UimFep]](for console apps). Please setup these according to each
bridge's manual (optional).

* [[uim-fep document|UimFep]] * [[uim.el document|UimEl]]

## (4) Setting for the On/Off keys

You can edit On/Off keys.  By default, uim set "Shift-Space" and
"zenkaku-hankaku" as On/Off keys for the most of input methods.  Please change
them as you like using uim-pref-(gtk/qt/qt4) in "Global key bindings 1"
and input method specific key setting (like "Anthy key bindings 2").
