readline の redraw-current-line の機能を使えるようにする
Reported by jugyo | March 3rd, 2009 @ 10:49 AM | in ver.1.0
readline に redraw-current-line という機能があるのを最近知りました。 これを使うと編集中のテキストを再表示させることができます。
以下のようにしてキーバインドを割り当てることで使えるようになります。
# ~/.inputrc
"\C-xr": redraw-current-line
で、これをプログラム内から呼び出せたらな〜、と思ったわけです。
プログラム内からは呼び出せなくても、使えたら便利な機能なので、使えるように Termtter::Client を修正しようと思っています。
現在の Termtter::Client ではタイムラインが更新されるたびに「入力待ち受け用スレッド」を kill して作り直しています。 なのでタイムライン更新後キーボードから redraw-current-line を呼び出しても readline のバッファは空になっているので何も起こりません。 この動作を変えたほうがいいなー、と思ってます。
Comments and changes to this ticket
-
jugyo March 11th, 2009 @ 10:26 AM
- Milestone set to ver.1.0
-
jugyo March 11th, 2009 @ 10:36 AM
- Assigned user set to jugyo
-
jugyo March 14th, 2009 @ 06:15 PM
- State changed from new to resolved
現在の Termtter::Client ではタイムラインが更新されるたびに「入力待ち受け用スレッド」を kill して作り直しています。
これをしないようにしました。
-
koichiro (at meadowy) March 14th, 2009 @ 11:31 PM
GNU Readline APIの再描画APIの rl_forced_update_redisplayやrl_on_new_with_promptを使って実現しようとしましたが、思うような動作までは至らず断念しました。
rl_forced_update_redisplay: 入力途中の行が再描画されるも、カーソルが次の行まで移動してしまう。
rl_on_new_with_prompt: なんらかの文字を入力するまでは再描画されない。
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
Termtter is a terminal based Twitter client