X Input Method

X Input Method (XIM) はX Window Systemにおけるテキスト入力のためのインプットメソッド (IM) である。
概要.
XIMはマルチバイト文字を入力する際に使われ、Xlibがその関数インタフェースを提供する。テキスト入力を扱うXIMに対して、テキスト出力を扱うAPIはXOMである。X Window Systemの代表的なライブラリであるGTKやQtではimmoduleが実装されているので、これらのライブラリを用いればアプリケーション開発者が直接XIMを扱わなくても、作成したアプリケーションで日本語入力が行える。
入力スタイル.
インプットメソッドの要求する可能性のある領域にはstatusやpreeditなどがある。これらの領域の設定によって入力スタイルが変わる。入力スタイルにはon-the-spot、over-the-spot、off-the-spotやrootがある。GTK2やQtなどのライブラリでは初期設定でon-the-spotになっており、on-the-spotスタイルが一般的に用いられる。しかし、on-the-spotスタイルではコールバック関数を定義する必要があるので、GUIライブラリにおける実装は他のスタイルに比べて複雑になる。