Masanari Yamamoto
h0131****@ice*****
2004年 7月 4日 (日) 16:30:50 JST
山本です. > > 自分では満足のいくものができましたので, uim本体に取り入れてもらいたい > > です. > 提案ありがとうございます。了解しました。 ありがとうございます. > > 3. 外部からモード切り替えが可能 > > vimのモードと連動させることもできます. > シグナルを使うというアイデアに感心しました。 selectで待っている間にシグナルが来た場合はいいのですが,uimの処理中 (uim_press_keyが戻るまでの間)にシグナルが来た場合は再びuim_press_keyを 呼んでしまうという問題があります.(滅多にないと思いますが) シグナルハンドラでは何もせず,uimの処理中でないとき(selectから戻った後) にuim_press_keyを呼べばいいと思ったのですが,SIGUSR1, 2ではselectから 戻ってくれないようです. 今のところモード変更しかできませんが,KoRoNさんが提案してくださった fifoを使った通信の方が安全だと思うので,シグナルの方は消したいと思って います. コールバック関数の呼出しの前後関係について分からないことがあったので質 問します. http://freedesktop.org/pipermail/uim/2004-June/000386.htmlによると select_cbはactivate_cbの前に呼ばれることがあるとのことですが,これは何 の意味があるのでしょうか? pushback_cbとupdate_cbでプリエディットを表示 して,activate_cbの後にselect_cbを呼べばいいような気がします. anthyで C-j, a, space, pagedown の順に入力するとactivate_cbの前にshift_page_cbが呼ばれるのですが,これ はいいのでしょうか? これはバグだと思うのですが, pyで C-j, a, space, i, space 6回 の順に入力するとactivate_cbがnr = 7で呼ばれたあとselect_cbがindex = 7 で呼ばれます.さらにspaceを押し続けるとindex = 21までいきます. -- 山本将也 h0131****@ice*****