# The &skim; Handbook

LiuCougar (liuspider)

                liuspider_ZAI_users.sourceforge.net

March/16/2004
&skim_version;-r&skim_doc_revision;

An input method platform based upon scim-lib and all-in-one configure GUI.

KDE
SCIM
FrontEnd
Panel
GUI
scim-panel-kde
skim

## Introduction

&skim; is an input method platform based upon scim-lib under *NIX (including GNU/Linux and FreeBSD) systems optimized for &kde;. It provides a GUI panel (named scim-panel-kde), a KConfig config module and SetupUIs for itself and scim-lib. It also has its own plugin systems which support on-demand loadable actions.

### Features

- KDE compliant:

  - Default settings are retrieved from KDE and the GUI honors the KDE/Qt global styles, including but not limited to the apperances colors of widgets and icons;

  - GUI language is determined by the KDE global setting, rather than LANG (or similar) environment variable, so no matter what your locale is, you can select preferrable user interface language. What's more, skim ships with a bunk of translations, currently including: (Simplified/Tranditional) Chinese, German, Japanese and Korean.

- Fully &kde; integration: if you close your &kde; when &skim; is still running (given that your KDE is configured to save session when logout), next time you login &kde;, &skim; will get loaded automatically; After installation of &skim;, you can start it from "KDE Menu->Utilitis->&skim;"

- Fully customizable: a setup GUI is shipped with &skim;, in which you can modify all settings not only about &skim; but also &scim; and most the settings will take efforts immediately without the hassle of restart (now only one rarely used configure can not be changed in &skim;, see also );

- Based on modular concept: nearly everything you see are in seperate plugins, so you can configure which one you want. Not specified plugins would not get loaded at all to save your memery; some temporary functions such as configuration dialogs will be loaded on-demand, and will be unloaded automatically when they are no longer needed;

- Object Oriented: like any other KDE/Qt application &skim; is written in C++.

### Screenshots

Screenshot of plugin Main Window (Main Toolbar)

Screenshot of plugin Input Window

Screenshot of plugin KDE System Tray Indicator

Screenshot of plugin Setup Window

## Installation

### How to obtain &skim;

Please download the latest &skim; &skim_version; from Sourceforge.

### Requirements

&scim; >= &require_scim_version;, &Qt; >= 3.2.0 and &kde; >= 3.2.0 are required to run/compile &skim;.

#### Notice

After installing skim, you should also install at least an IMEngine (refer to a input method), such as scim-chinese (currently contains the Pinyin IMEngine for Simplified Chinese), scim-tables (contains table-based input methods, such as Wubi, Erbi for Simplified Chinese), scim-hangul (a popular Korean input method), scim-uim (contains a lot of Janpanese IMEngines) or scim-m17n (contains more than 30 input methods for various languages).

#### Install (Binary) RPM

If you want to use RPM directly, then please install RPMs for scim and skim.

#### Compile from Source

If you want to compile skim from source, then please make sure before compiling &skim; at least the RPMs for scim and scim-devel are installed.

Otherwise, if &scim; was compiled in your box, you have all necessary files.

If you do not want Gtk2 based original GUI from scim-lib, you can disable them while configure it: after you compile it, you can still install &skim;. In a word, &skim; does not depend on original Gtk2 based GUI.

The header files for &Qt; and &kde; are also required to compile skim, which are normally included in libqt-devel and libkdecore-devel/libkdelibs-devel RPMs.

### Compilation and Installation

If you'd like to compile skim yourself, the following should do it:

              %./configure
              %make
              #make install

The last command should be executed as root. Should you run into any problems, please report them to the Mailing list.

## Using &skim;

### Prerequisite

Before you can use any XIM server in X, your environment must be setup.

First, for Gentoo users, edit the file ~/.xinitrc (if it does not exist, create one), and modify it according to the sample below

    export XMODIFIERS=@im=SCIM
    export LC_CTYPE="zh_CN.GBK"
    export GTK_IM_MODULE=scim
    export QT_IM_MODULE=scim
    startkde

The 4th line is only necessary if your &Qt; is compiled with qt-immodule support and scim-qtimm has been installed. Under Gentoo, please emerge latest Qt with USE="immqt-bc" (or USE="immqt" if you are willing to recompile all your Qt based applications afterwards) and then emerge scim-qtimm. SuSE will include these by default in the upcoming version.

Please change the locale/encoding (zh_CN.GBK is used in the sample above) according to your favorite. Now available locales/encodings supported by &scim; are listed below

    zh_TW.Big5,zh_TW,zh_HK.Big5-HKSCS,zh_HK,zh_CN.GB18030,zh_CN.GBK,zh_CN.GB2312,zh_CN,
    ja_JP.eucJP,ja_JP.ujis,ja_JP,ko_KR.eucKR,ko_KR

#### Warning:

some of these locales/encodings are not recommended to use, such as zh_CN.GB2312 (please use zh_CN instead), due to bugs in other applications/libraries (Xfree 86 etc.)

Besides all these locales/encodings listed above, most utf8 locales are also support. The built-in support locale only contains "en_US.UTF-8". So if you want to use other utf8 enabled locales (say fr_FR.UTF-8), please follow these procedures:

#### Enable other utf8 locales in scim/skim

1. Start skim by

       %scim-panel-kde -d -f

2. Open the configure dialog by selecting the configure action in the right click menu of either the system tray icon or the main window;

3. Go to Global Settings -> General SCIM;

4. Check the advanced checkbox;

5. Replace the content in the combobox of "Supported unicode locales" with fr_FR.UTF-8;

6. Click the Add button;

7. Do not forget to click the Apply (or Ok) button finally.

After adding the new utf8 locale, you should see fr_FR.UTF-8 in the drop down menu of Supported unicode locales combobox. Please restart skim after this modification (you can just exit X and reenter).

For Fedora core 1 users, please add the same two export commands as above to the end of file /etc/X11/xinit/xinitrc.d/xinput.

### Start &skim;

Before trying starting &skim;, please make sure that &scim; and scim-panel-gtk are not running; if they are, kill them: first kill scim then scim-panel-gtk as follows:

              %killall scim-launcher
              %killall scim-panel-gtk

Currently, you can use three different methods to start &skim;:

#### Use skim as the default panel

If you prefer KDE/Qt interface and want scim to use skim as the default panel, please execute.

    %scim-panel-kde -d -f

then please open the configure dialog (click the configure action) and go to Global Settings -> General SCIM, change these settings as followings:

                  Panel Program: scim-panel-kde
                  Config Module: kconfig

These modifications are only required the first time you use &skim;.

After this modification, scim will know you prefer skim and will use skim automatically. So all you should do to start &skim; and &scim; is just

    %scim -d

or

    %skim -d

(Please see also )

If you want KDE invokes skim automatically when KDE session begins, please make sure that under Global Settings -> X Window, Start skim automatically when KDE starts checkbox is selected.

#### Let &skim; do all the dirty work

If you only want to use skim occasionally, all you should do to start &skim; and &scim; is just

                    %&skim; -d

or start it from "KDE Menu->Utilitis->&skim;"

#### Manually start &skim;

If for some reasons (eg. debug), you want to start &skim; and &scim; manually and separately, then you should do followings

              %scim-panel-kde -d
              %scim -c kconfig -d

IMPORTANT: &skim; has to be started before &scim;.

## Questions, Answers, and Tips

### Frequently asked questions

Question: Why do you bother to write &skim; now that &scim; already has a Gtk2 based panel?

Ok, the most important reason is that: Nearly all applications running on my Desktop are KDE/Qt based ones, and &scim;'s panel was the only exception, and it does not fit into the entire K Desktop Environment very well, so I decided to write a KDE/Qt panel for &scim;.

Question: &scim; and &skim; are loaded successfully, and I can trigger input method and input CJK, but the inputed characters refuse to transfer into target KDE/Qt applications.

Make sure the XIM Input Style setting of Qt is "Over The Spot". You can change this by invoking "qtconfig", "Interface" tab, at the bottom of this page.

Question: How can I modify &scim; specific settings? I can't find them in the configuration dialog.

Currently &skim; have almost all &scim; specific settings in its configuration dialog, with the only exception: the setting UI specific to a generic table is not incorporated. So if you want to modify this kind of configuration, please use scim-setup. You can start it as:

              %scim-setup -c kconfig

If skim is your default panel, you can start scim-setup without the parameters ("-c kconfig").

This issue will be solved in &skim; post-1.0 version when generic table IMEngine is splitted from scim-lib itself.

Question: Why does the left click menu of the system tray icon contain no input methods?

No scim backend process is running. You can try

              %scim -d

This is probably caused by misconfiguration of scim/skim: please follow the procedures described in

Question: What's the difference of skim and scim-panel-kde?

Before &skim; 0.9.0, this package was called scim-panel-kde. However, as the package contains more and more functionality beyond just a panel for &scim;, so I decided to rename it to &skim;.

However, you still can find a program called scim-panel-kde in &skim; now. The difference between skim and scim-panel-kde is that: no matter what is set in skim config dialog under "Global Settings -> Skim Plugins", the plugin "SCIM Server" won't get loaded by the latter program. In a word, scim-panel-kde is meant to be used by scim-launcher to start skim automatically.

(You may want to have a look at the source of scim-panel-kde: it is in fact only a shell wrapper of the real skim program.)

## Credits and License

&skim;

Program copyright 2004 Liucougar (Liuspider) liuspider_ZAI_users.sourceforge.net

Contributors:

- &scim; Core Author: JamesSu suzhe_ZAI_tsinghua.org.cn

- Art Designer: Kitae neeum_ZAI_yahoo.com

Translators:

- German : Hendrik Brand eru_ZAI_gmx.li, Jan Hefti j.hefti_ZAI_hamburg.de

- Janpanese : Yukiko Bando ybando_ZAI_k6.dion.ne.jp

- Korean : Kitae neeum_ZAI_yahoo.com

- Tranditional Chinese : Jim Huang jserv_ZAI_kaffe.org

(Please replace _ZAI_ with @ to retrieve the original Email address)

Documentation Copyright © 2004 Liucougar (Liuspider) liuspider_ZAI_users.sourceforge.net

&underFDL;

&underGPL;