2006年4月12日の日記の2番目の記事へのコメント

uim-input-pad-jaとuim.el

これの話.実のところ,「commit_string」は実装してなくても困らないメッセージ(将来使うかもねー系)だと勝手に思い込んでました.なんでだろう・・・.まあ,何にせよ,uim-input-pad-jaは,今まで一度も使ったことなかったわけですが(何するためのものなのかも知らなかった).

で,これ,サポートするにはどうすんのという話ですが,どうやるのがいいんですかねー.前にどっかで書いたような気もすんですが,uim.elではユーザのキー入力とかウィンドウのリサイズとかに反応してuim-el-agentにメッセージを送り,返ってきたのを受け取って,それを元にバッファやモードラインを更新する,という処理をしてるだけだったりします.なので,ユーザがEmacsに触らない限り,uim-el-agentが外からあれこれ言われても何も起きないんですよね・・・.さてどうしよう.

バッファの出力をフィルタで受け取るように変更して,出力が変化したらEmacsが反応するようにする
キー押して,結果が返ってくる前にカーソルが動かせちゃったりしたら恐くない?
Emacsのタイマ機能を使って,何もしてないときにもuim-el-agentの出力をちょくちょく見る
run-with-idle-timer は,「Emacsが放置されてから一定時間後に何かする」という使い方しかできず,0.1秒おきに何かするとかできないっぽい?
uim-el-agent側からシグナルをEmacsに送ってつつかせる
Emacsでどうやってシグナル処理するのかリファレンスに書いてなくね?でも,ソース見るとUSR1とかUSR2は律義に反応してくれそうな雰囲気です.試しにUSR1とか送ってみたら,キー入力やメニュー選択と同じように「usr1-signal」というイベントがが!これならいける!・・・と思ったんだけどXEmacsはUSR1で死にますた(;´Д`).萎える.
外からのメッセージ受け取り専用のプロセスを用意して,フィルタで出力を処理
あんまり色々動かしたくないけど,うまくやればuim-el-agentの中の処理がよくなるかも・・・しれないがElisp側でやることが増えそう
おとなしくユーザが何か操作したときにバッファを更新する
commitとかはそんときフォーカスされてるコンテキスト内で蓄積しときゃいいんだし,これでもいいのかなぁ

んー,とりあえずXEmacsは放置でシグナルでやってみるかぁ・・・.他にいい方法あったら教えてください.

[コメントを書く]

nosuke 2006/04/13(木) 03:22:25
uim-input-pad-jaからやってくる文字,エンコード変換しないとまずい
じゃん・・・(;´Д`).めどいな・・・.
nosuke 2006/04/13(木) 04:27:00
uim-input-pad-jaからやってくるのはUTF-8決め打ちはまずいよね・・・.
と,doc/COMPATIBILITYを見るとCharsetが必要になったようですね.
あれ,でもdoc/HELPER-PROTOCOLにはなく,input-pad-ja.cでも出してる気配が無い・・・
だけど,uim-fepはcharset=""がないと処理しないようになっていて・・・

ヽ(`Д´)ノ ウワァァァン もう寝ノレ!

お名前:  メールアドレス(省略可):
メールアドレスも表示されます
ここに名前その他を書いてはいけません: ここにメールアドレスその他を書いてはいけません:

2006年4月12日の日記の2番目の記事へのコメント

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2006年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ