VineSeedでATOKと仲良くする
ATOK for Linuxには入力以外の部分でいくつか細かい不満があり、これまでに何度かこの日記でも取り上げた。
- gtkアプリでIIIMFのステータスウィンドウを非表示にする(2005/02/27)
- プロパティが表示されない(2005/03/01)
この件に関して最近また進展があったのでここにまとめる。
gtkアプリでステータスウィンドウを非表示にする
ATOK for Linux - ステータスウインドウを非表示に...のページを参考に、gnome-im-switcherをインストールしたらこの件は解決した。ただしこちらではiiimfパッケージのspecファイルを修正して、1回のリビルドで済むようにしている。
gnome-im-settings-daemonを自動起動させる良い方法はないかと思ったが、GNOMEの起動プロセスがよく分からなかったので、リンク先のページと同様にセッションの自動起動するプログラムに追加することにした。
ATOKのプロパティが表示されない
この件はgtkのバージョンが違うことが原因だということは分かったが、その解決方法が見つからずに放置していた。ATOK for Linuxの動作環境はgtkの2.4で、それに対してVineSeedのgtkは2.6。gtk-2.6は2.4と完全な互換性があるわけではないらしい。
落穂拾い:atok on Gentoo Linuxのページで紹介されている、gtk-2.6とgtk-2.4を共存させる方法は根本的な解決ではないがそれでも確かにうまくいくので、この方法を採用してRPMパッケージを作った。
さらに、Vineではインプットメソッドの切り替えと起動はsetimeという仕組みに組み込まれているので、以下のパッチを当てる必要がある。
--- /usr/share/vine/imelib.orig 2005-03-06 12:25:17.000000000 +0900 +++ /usr/share/vine/imelib 2005-05-06 05:38:51.000000000 +0900 @@ -607,6 +607,7 @@ if [ -f ${HOME}/.Xdefaults ]; then xrdb -merge ${HOME}/.Xdefaults fi + LD_LIBRARY_PATH=/usr/lib/gtk24 \ /usr/lib/im/httx -if atokx2 -xim htt_xbe & fi
RPMパッケージ
ソースパッケージのリビルドは、
rpmbuild --rebuild iiimf-trunk_r2059-7.src.rpm
のようにする。なお、Vine Linux 3.1の場合は、iiimfパッケージのリビルド時に--define gtk24:1を付けるとgnome-im-switcherのソースにパッチが当たりコンパイルが通るようになる(はず)。