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