emacs-snapshot-gtk で日本語入力

以前の日記で書いてたemacs-snapshot-gtkで日本語から入力できなくなる件、よくわかんないけどトリガだけはわかりました。入力できないときは、uim-ximが動いてないときでした("ps aux|grep uim"でuim-ximがでてこない)。

ウィンドウマネージャにxfce4を使っていて、普段使うXアプリがターミナルも含めて全てgtkに移行できた気がしたので、ximを経由せずにgtkから直接uimで日本語入力できると思っていました。ところがemacs-snapshot-gtkでは、uim-ximが起動していないとim-switchのキーバインドとかがemacsにそのまま渡ってしまうようです。

単純にはuim-ximを.xsessionとか自動起動アプリに突っ込むのでもいいんですが、不思議なことに$HOME/.uim

(define default-im-name 'anthy) ; IM-SWITCH VALUE

の1行があるときはuim-ximが勝手に起動して、ないときは起動しないようです。

で、この1行は update-alternative --config xinput-ja_JP で選択した /etc/X11/xinit/xinput.d/uim_anthy の中で勝手に追加されます。自分は.uimsvnでバージョン管理していて、勝手に書き換えられたのに気づかずにupdateして入力できなくなっていた。

ちゃんとした原因を追求するには、gtkとかximとかの仕組をもうちょっと理解しないと無理っぽいです。で、結局のところscimは悪くないってことになるのかな(確認してない)。でも.uimの違いだしなぁ...。