パスワードを忘れた? アカウント作成
612428 journal

kzkの日記: reorganizing helper-API 2

日記 by kzk
GdkInput, QSocketNotifier的な機能をuimに内包させたらもっとシンプルになりそう。と今思い付いた。
uim_init内でuim_helper_init_clientを実行して接続。

んで、次の用にコマンドに応じてコールバックを設定
uim_set_helper_cb(uc,
              "focus_in", helper_focus_in_cb,
              "focus_out", helper_focus_out_cb,
              ....
              );

static void helper_focus_in_cb(void *ptr, const char *msg);
static void helper_focus_out_cb(void *ptr, const char *msg);

これだと晒す関数はuim_set_helper_cbだけになりそう。
コマンドの追加なんかも簡単だしね。
commit_stringコマンドを作って外部アプリから文字列を入力したりも出来るようになるし。(現状のままだとucへの参照を得ようとするとスマートじゃなくなる)

とにかく現状では、gtk-immodule + uim-qt + uim-ximのhelper部分のコードが被り過ぎてる。
init, close, disconnect, コマンドのパース部分など。

ーーーーー

selectするためにmain_loopみたいなのがいるのか。
それはちょっとなぁ。。。
uim-ximみたいにアプリケーションだったら良いけど、プラグインだしなぁ。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by tabatee (1637) on 2004年07月11日 23時28分 (#587349) 日記
    どこにも明文化してなくて申し訳ないのですが、uimの core APIとhelper APIは注意深く分離しています。 なので、core APIとの干渉に注意して変更してくださるようお願いします。
  • 同一ツールキット間でコードが被ってるのは問題ですが,
    異なるツールキット間でコードが被るのは,ある程度は仕方ないかと
    思います.

    あまりやり過ぎると,究極的には,wxWidgetsとかVLCみたいな事を
    やらざるを得なくなるので.
typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...