[home]
[log in]
w3mでページの内容に応じてキーバイントを変えるpatch
w3mで、ページの内容に応じてキーバイントを変えるpatchです。
これができると何がうれしいかと言うと、
gmailで、'k'で一つ新しいメール、'j'で一つ古いメールを見る
なんて機能を実装する事ができます。
ついでに、HTMLの中身を書き換えてw3mに渡す事も可能です。
ファイル
パッチ本体(w3m-0.5.2用)
パッチとともに使うhookファイルのサンプル
仕組み
w3mでHTMLページをロードする時に、以下の動作をします。
- w3m-hookという名の子プロセスを作る。
- 子プロセスのstdinに、URLやHTMLの中身を出力する
- 子プロセスのstdoutから、新しいHTMLの中身を受けとる
- 子プロセスから、pipe経由でkeymapファイルを受けとる
w3m-hook側で、以下の処理を行います。
- stdinから、URLやHTMLの中身を受けとる
- pipeにkeymapを書き込む
- stdoutに、書き換えたHTMLの中身を書き込む
w3m-hookの詳細は、上のサンプルの中身を見てください。
patchの詳細
- キーマップを、Buffer毎に持つようにしています。
- HTMLのロード時に、w3m-hookを呼び出して、そのBufferのキーマップを変換しています。
Last Modified: 2008-05-29 Thursday