Masanari Yamamoto
h0131****@ice*****
2005年 9月 3日 (土) 01:59:04 JST
On Fri, Sep 02, 2005 at 08:52:48AM +0900, TOKUNAGA Hiroyuki wrote: > 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の変更に関しても、そろそろ真剣に考えないといけなさそう > # ですね。 前のIM(次のIMの反対)に切り替えるキーバインドがあると便利だと思います。 目的のIMに切り替えるために一周するのは面倒だし、enabled-im-listを必要 なIMだけにしたとしてもdirectを経由する必要があるので。 -- 山本将也