[Sumika-devel 17] libuim custom API対応

Zurück zum Archiv-Index

YamaKen yamak****@bp*****
2004年 5月 13日 (木) 17:26:28 JST


ヤマケンです。

#Sumikaの改良に意欲を示してらした足永さんにもCc:します。議論に参
#加して頂けると嬉しいです。

libuimに追加したcustom APIを使ってSumikaによるuim設定の取得/更新
を行うように変更してみました(global及びcannaのみ、skkは未対応)。
現状ではcustom API の利用例としての価値しかありませんが、今後の
開発を進める上での叩き台にして頂けたらと思います。

元の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の設定用ツールは重要だと思うので今後は以下のような優先順位で
開発を進めていくつもりですが、要望等あれば遠慮なく言って下さい。

1. libuimに動作中のIMブリッジに対する動的な設定更新機能を追加
2. custom APIドキュメント作成
3. custom APIにキーバインドの設定機能を追加
4. libuimに~/.uim及び~/.uim.d/hogeの設定更新機能を追加


なお、このパッチには現在以下の不具合が確認されています。

・cannaserverの指定でSEGVする
  1. "Use remote cannaserver"をチェック
  2. サーバ名に"hoge"等と入力
  3. "Use remote cannaserver"のチェックを外す("hoge"は残ったまま)
  4. Applyすると不特定の箇所でSEGVが発生する。ただしこの一連の手
     順を踏むとSEGVが発生する事だけは再現性がある

  * サーバ名が空か、"Use remote cannaserver"にチェックが入ってい
    る場合は発生しない
  * 素のSumika 0.12では発生しない
  * 環境
    FreeBSD 5.2-CURRENT
    gcc 3.3.3
    Gtk 2.4.1

-------------------------------
ヤマケン yamak****@bp*****
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: sumika-0.12-libuim-custom-api-20040513.diff
型:         application/octet-stream
サイズ:     24114 バイト
説明:       無し
Download 


Sumika-devel メーリングリストの案内
Zurück zum Archiv-Index