The skim Handbook

LiuCougar (liuspider) <liuspider_ZAI_users.sourceforge.net>

Revision 1.0.2-r1 (October/09/2004)

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


Table of Contents

1. Introduction
Features
Screenshots
2. Installation
How to obtain skim
Requirements
Install (Binary) RPM
Compile from Source
Compilation and Installation
3. Using skim
Prerequisite
Start skim
Use skim as the default panel
Let skim do all the dirty work
Manually start skim
4. Questions, Answers, and Tips
5. Credits and License

Chapter 1. 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-lib 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 Q: 4.3. );

  • 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


Chapter 2. Installation

How to obtain skim

Please download the latest skim 1.0.2 from Sourceforge or Freedesktop.Org.

Requirements

scim-lib >= 0.99.4, 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-lib 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.

Chapter 3. 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-lib 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:

Procedure 3.1. 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-lib 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-lib is just

%scim -d
or
%skim -d
(Please see also Q: 4.5. )

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-lib 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-lib manually and separately, then you should do followings

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

IMPORTANT: skim has to be started before scim-lib.

Chapter 4. Questions, Answers, and Tips

Frequently asked questions

4.1. Question: Why do you bother to write skim now that scim-lib already has a Gtk2 based panel?
4.2. Question: scim-lib 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.
4.3. Question: How can I modify scim-lib specific settings? I can't find them in the configuration dialog.
4.4. Question: Why does the left click menu of the system tray icon contain no input methods?
4.5. Question: What's the difference of skim and scim-panel-kde?
4.1.

Question: Why do you bother to write skim now that scim-lib 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-lib'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-lib.

4.2.

Question: scim-lib 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.

4.3.

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

Currently skim have almost all scim-lib 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.

4.4.

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

4.5.

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-lib, 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.)

Chapter 5. Credits and License

skim

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

Contributors:

Translators:

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

Documentation Copyright (c) 2004 Liucougar (Liuspider) <liuspider_ZAI_users.sourceforge.net>

This documentation is licensed under the terms of the GNU Free Documentation License.

This program is licensed under the terms of the GNU General Public License.