YamaKen
yamak****@bp*****
2005年 7月 9日 (土) 14:35:39 JST
ヤマケンです。こんにちは。 uim.elはありがたく使わせて頂いております。 At Fri, 08 Jul 2005 23:35:50 +0900 (JST), nosuk****@csc***** wrote: > などとして第4引数にNULLを指定して新たにコンテキストを生成す > ると, > > ~/.uim.d/customs/custom-global.scm > > で指定したデフォルトのインプットメソッドではなく,先の > uim_switch_imで指定したインプットメソッド im を利用する > 状態でコンテキストが生成されてしまいます. > 特定コンテキストのインプットメソッドを変更し,それを更にデフォ > ルトにするというのは,なんだか不自然な感じがするのですが,こ > れはAPIの仕様なのでしょうか. uim_switch_im()の最後で意図的にデフォルトIMの変更を行っています が、改善すべきと思います。 実装の動機はuim-im-switcherでユーザがIMを切り換えたならそれ以降 に発生するコンテキストでも切り換え後のIMを使いたいはずである、と いう意見だったと記憶してますが、これは「このテキストエリアのみ切 り換え」の場合には当てはまりませんね。実装する際の考察が足りませ んでした。 というわけで、以下の解決策を提案します。 ・uim_switch_im()ではデフォルトIMの変更を行わない ・各ブリッジがim_change_whole_desktopか im_change_this_application_onlyのメッセージを受信した時のみ、 ブリッジの責任において以下の呼び出しでデフォルトIMを切り換える uim_prop_update_custom(uc, "custom-preserved-default-im-name", name) これで「このテキストエリアのみ切り換え」の場合にはデフォルトIMは 切り換わらなくなります。また、uim_switch_im()も副作用なしに自由 に使えるようになります。 uim 0.4.8にこの変更を入れたいと思いますが、スケジュールや仕様な どどうでしょうか。 >徳永さん ------------------------------- ヤマケン yamak****@bp*****