物置き

hinttimeout

char-hints-mod2.jsという素敵なプラグインのおかげで
日々快適なブラウジング生活を送れているのだけど、
現在のchar-hints-mod2では、.vimperatorrc

set hinttimeout=250


と設定しているにもかかわらずhinttimeoutがうまく働かないことがある。
(使用しているchar-hints-modsのバージョンは0.2.7)
(追記:0.3.0以降では問題なく動作します)


これについては既知の現象らしく、 いずれは修正されるのだろうけど(修正済み)、
とりあえず現時点でhinttimeoutが常に働くようにならないだろうかと思ってぐぐってみたところ、
まさにどんぴしゃな力技パッチを発見したので、
これを適用したところ、うまくhinttimeoutが機能するようになって幸せな気分になることに成功した。


このパッチでは、本来のtimeout処理をキャンセルして自前のtimeout処理を実行していて、
本来のtimeout処理が実行される前にキャンセルするために、
実際のhinttimeout値より100ms短い値でtimeoutするようになっている模様。


元々の値を250msに設定しているところが150msになるのは
あまりにシビアすぎるので、.vimperatorrc側のhinttimeout値を350msに変更したりなどした。

set hinttimeout=350


これでより快適になって、めでたしめでたし。


(2009-05-12 追記)
コメント欄の通り、char-hints-mod2の作者のid:hogelogさんが
修正してくださったので、char-hints-mod2のバージョン0.3.0以降では
問題なくhinttimeoutが働くようになっています。


パッチでは100ms早くコールバックして、
コールバック時にオリジナルのtimeout処理をキャンセルしていますが、
0.3.0では、キー入力時のタイミングでオリジナルのtimeoutをキャンセルしているので、
上記のようにhinttimeoutを100ms増やす必要はないようです。


これで、全国一千万のchar-hints-mod2ユーザは何も気にせず
hinttimeoutを活用できて、より幸せになれるはず..!
id:hogelogさん、id:tekezoさんありがとうございます!