scim(1)

πŸ’– scim(1) πŸ’–

okay bestie, gather round, because this is the scim(1) manual page and it's lowkey iconic. it's the manual for scim, which stands for smart common input method, and by the end of this you're gonna be running it like a main character. no cap. 🫢


✨ NAME ✨

scim β€” smart common input method 🌸


✨ SYNOPSIS ✨

scim -l
scim [-c config] [-e|-ne engine] [-f frontend] [--no-socket] [-d]
scim -h

✨ DESCRIPTION ✨

so like, Smart Common Input Method (SCIM) is a whole platform for input methods. and why do you care? because input methods are essential for anyone who needs to type characters that literally cannot be represented by the keys or key combos on their keyboard. we're talking languages that use ideograms β€” Chinese, Japanese and Korean (CJK) β€” where the alphabet situation is like, hundreds or thousands of characters. your keyboard could never. πŸ’…

this here is the main program of the SCIM platform. you can use it to invoke the input method, and also to list all the available input method modules. two jobs, both slaying.


✨ OPTIONS ✨

most options come in a short version and a long version, and they take the same arguments. bestie behavior honestly.

  • -c | --config module β€” use the Config module you specify.
  • -d | --daemon β€” run as a daemon. if you invoke it with this, the program exits and leaves a daemon chillin' in the background. πŸ‘‘
  • -e | --engines module[,module]... β€” use the IMEngine modules you specify. only the named module(s) get loaded, and you separate module names with a comma.
  • -ne | --no-engines module[,module]... β€” use all IMEngine modules except the ones you specify. everything except the named one(s) gets loaded, comma-separated module names again.
  • -f | --frontend module β€” use the FrontEnd module you specify.
  • -h | --help β€” show a summary of options. classic.
  • -l | --list β€” print the version number and list all the available modules, sorted into three groups β€” FrontEnd, Config and IMEngine. it's giving inventory. πŸŽ€
  • --no-socket β€” do not start a socket FrondEnd module.

✨ ENVIRONMENT ✨

XMODIFIERS

this one should be set to "@im=SCIM". and listen, bestie, because this is the part that trips people up: XMODIFIERS is case sensitive, and scim needs the uppercase version. if you set it to lowercase, you will get no error message at all and scim just… won't work. silent treatment. 😭

GTK_IM_MODULE

GTK+ applications can use a bunch of different modules to connect with input methods, and SCIM can work in two different modes to provide input methods to GTK+ using two different modules:

  • one is XIM mode, using the "xim" GTK IM module from GTK+ itself.
  • the other is GTK IM mode, using the "scim" GTK IM module provided by the SCIM platform.

the environment variable GTK_IM_MODULE is what GTK+ uses to specify which GTK IM module the application should use. so to use SCIM's two modes, set GTK_IM_MODULE to "xim" or "scim" accordingly. ✨


✨ EXAMPLES ✨

to use scim in XIM mode, run these commands in an X terminal (assuming a Bourne style shell):

XMODIFIERS="@im=SCIM"
export XMODIFIERS
GTK_IM_MODULE="xim"
export GTK_IM_MODULE
scim -d
<program>

now you can press Ctrl-space to activate scim in the program you just started from the X terminal. and to avoid the inconvenience of having to start the program from an X terminal every time, make sure you set XMODIFIERS and GTK_IM_MODULE before starting your X session. future you says thank you. πŸ™


to use scim in GTK IM mode, just start any GTK+ application, then right click in the application, choose "Input Methods -> SCIM Input Method" in the pop-up menu, and scim should automatically start. or alternatively, you can use these commands to set scim as the default GTK IM module (again assuming Bourne style shell):

GTK_IM_MODULE="scim"
export GTK_IM_MODULE
<gtk-program>

here scim will also automatically start when you start your GTK+ program. however, it's still a good idea to start scim explicitly even if you use GTK IM mode, because if only one application is using GTK IM mode, scim will automatically stop when you quit that application. then when you start a new application, scim starts again β€” and this can cause quite a long delay for application start and quit, giving people the impression of "everything slows down when using scim". πŸ’€ so yeah, start it explicitly.


the following command starts scim in daemon mode, using the simple configure module, Pinyin IM engine module, X11 frontend module:

scim -c simple -e pinyin -f x11 --no-socket -d

✨ FILES ✨

  • /etc/scim/global, /etc/scim/config β€” configuration file for system wide settings
  • ~/.scim/global, ~/.scim/config β€” user specific settings

✨ SEE ALSO ✨

there's a brief English README giving some introduction and tips about SCIM β€” in a Debian system it's installed in /usr/share/doc/scim/ and gzipped.

Debian users should also read the NEWS.Debian and README.Debian files in /usr/share/doc/scim/. there are also other README files in that same directory about using SCIM on a Debian system. reading is self care fr fr πŸ“š


✨ AUTHOR ✨

the SCIM platform is written by James Su and many other contributors. 🫢

this manual page is written by Osamu Aoki and Ming Hua for the Debian system, but hopefully it's also useful for other users. this document is distributed under the same license as the scim software package.


and that's the whole page, bestie. every option, every variable, every path. no skips. periodt. πŸ’…

okay ily, go type some ideograms β€” this was scim version 1.4.4, from January 2006, part of the scim manuals era, and it still ate. πŸŽ€βœ¨