[Sumika-devel 19] Re: libuim custom API対応

Back to archive index

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*****)



Sumika-devel メーリングリストの案内
Back to archive index