Masahito Omote
omote****@t-bas*****
2004年 5月 15日 (土) 01:44:59 JST
おもてです。うまくまとまらなかったので、意味不明なところはツッコミを 入れてください。 On Thu, 13 May 2004 17:26:28 +0900 YamaKen <yamak****@bp*****> wrote: > libuimに追加したcustom APIを使ってSumikaによるuim設定の取得/更新 > を行うように変更してみました(global及びcannaのみ、skkは未対応)。 > 現状ではcustom API の利用例としての価値しかありませんが、今後の > 開発を進める上での叩き台にして頂けたらと思います。 patchありがとうございます。まだ、手元では動いていないためpatchを当てて 中身を見ただけすので、上辺の議論にしかなっていないかもしれませんがど うか御容赦ください。 > 元のSumikaではstruct _uim_configを介してGUIとlibuim間で設定デー > タを受け渡していますが、設定項目毎に静的な型定義が必要なのでuim > の更新に追従する手間がかかります。これを解決するためlibuimの > custom APIを使って直接libuim内に設定を保持するように変更してみま > した。ただし、custom APIの利用例を示すためにstruct _uim_configに > 設定を読み込むコードも入れてあります。 > > 上記のstruct _uim_configと同様、GUIによる設定項目の構成も静的な > コードによって実現されていますが、libuimから取得した設定データに > 応じて未知の設定項目に対しても動的にUIを生成できるようになると便 > 利なので、custom APIもそれを前提に設計してあります。 uimの仕様変更の度にSumikaをいじくり回す必要がなくなるので、動的にUI を作成したり、libuim内部に設定を保持するという方式は賛成です。ただ、 動的にwidgetを生成するとなるとどのwidgetを使用するのかを機械的に処 理する必要があるので、どれを使えばよいのかをわかるようにしていただけ るとうれしいです。 例えば、custom.scmを見るとboolean, string,intergerなどがあるようです がcandidate-window-positionのように3つ(left, right, center)の中から一 つを選択させるという形式をとるような場合でもstringで指定されています。 これだと、解析する必要があるので択一選択用にchoice/listなどと定義さ れていれば作る側としてはありがたいです。 # 最悪の場合は設定をGtkTreeViewで全ての項目をリストにしてしまうという # 手もなくはないです。ただ、レジストリみたいになってわかりにくくなるのが難点 > uimの設定用ツールは重要だと思うので今後は以下のような優先順位で > 開発を進めていくつもりですが、要望等あれば遠慮なく言って下さい。 > > 1. libuimに動作中のIMブリッジに対する動的な設定更新機能を追加 動的な設定を持つのはuim-helper-serverになるのでしょうか? > 2. custom APIドキュメント作成 dl化している関係上、uimがインストールされていない環境でもbuildできないといけ ないので、uim.hとuim-scm.hはSumikaでも配布することになるかと思います。 ただ、uimがインストールされている場合はuim側のヘッダを使うようにすると思います。 > 3. custom APIにキーバインドの設定機能を追加 キーバインドの設定は各IMで独立していますが、キーバインドとして別のペインを 生成するのか、それとも各IMのペインに持たせるないしはボタンを用意してダイア ログを出すのどっちの方がいいのでしょうか? > 4. libuimに~/.uim及び~/.uim.d/hogeの設定更新機能を追加 現状だと~/.uimを完全に置き換えてしまうので~/.uim.d/hogeの形式には賛成です。 -- Masahito Omote(omote****@utyuu*****, omote****@sapme*****, omote****@debia*****)