TOKUNAGA Hiroyuki
tkng****@xem*****
2005年 9月 2日 (金) 08:52:48 JST
On Sun, 28 Aug 2005 16:50:05 +0900 Masanari Yamamoto <h0131****@ice*****> wrote: > uimではIMを切り替える方法として、uim-im-siwtcherによる方法と、 > switch-im-keyによる方法があります。uim-im-switcherによる方法は、bridge > 側からuim.cのuim_switch_imを呼びだし、switch-im-keyによる方法は、IM側 > からim.scmのswitch-imを呼びだします。 > > switch-imではrelease-contextとcreate-contextを呼びます。 > uim_switch_imではreset-handler、release-context、create-contextを呼 > び、 Cレベルでのプリエディットのリセット(uim_release_preedit_segments) > とIM 名の変更(uc->current_im_name = strdup(engine))を行います。 > > switch-imでもuim_switch_imと同様の処理が必要だと思います。 > 少なくともcurrent_im_nameを適切に設定しなければ、switch-imを切り替えた > 後にuim-im-switcherを起動するとuim-im-switcherが前のIMを指してしまいま > す。 報告ありがとうございます。どうしようかちょっと迷ったのですが、Cレベルで ごにょにょしないといけないので、switch-imからuim_switch_imを呼び出すよう に変更しました。ちょっとテストした範囲では、問題なく動いているようです。 # キーボードからのIMの変更に関しても、そろそろ真剣に考えないといけなさそう # ですね。 -- 徳永拓之 tkng at xem jp