Hatena::Groupvimperator

pekepekesamurai@vimperator RSSフィード

 | 

2009-02-14

LDRで購読停止用のキーを追加するための設定

18:00 | はてなブックマーク - LDRで購読停止用のキーを追加するための設定 - pekepekesamurai@vimperator LDRで購読停止用のキーを追加するための設定 - pekepekesamurai@vimperator のブックマークコメント

<C-v><Del>でも十分だったんだけど、そろそろフィードの整理がしたかったので、ワンキーで購読停止したかったのでやってみました。

feedSomeKeys_2.js で fmap hoge q,<Del> とか、fmap hoge <Del> とかを指定できればよいのだけれど、なんか僕の環境だとできなかったぽいので、別の方法で回避。

autocmd LocationChange http://reader\\.livedoor\\.com/reader :fmap q

js <<EOM</ppp>
autocommands.add('DOMLoad' , 'http://reader\.livedoor\.com/reader/', function(arg){
	var w = gBrowser.mTabs[arg.tab-1].linkedBrowser.contentWindow.wrappedJSObject;
	w.addEventListener('load', function(){
		// add susubscribe keybind
		w.Keybind.add('q', w.Control.unsubscribe);
	}, false);
});
EOM


ちなみに、DOMLoad じゃなくて PageLoad にひっかけてもいけると思う。

addEventListener をしてるのは DOMLoad のタイミングで実行しちゃうと、JS側の初期化が多分終わってないぽく、エラーがでちゃうのを回避するためです。

まー、こんなことするならグリモンでやっちゃった方が早いんだろうけど、グリモンがごちゃごちゃしてきているのであえてVimp側(正確にはvimp+feedSomeKeys_2.js)でやってみました。


本当はあまり影響なさげな # とかで Keybind.add しようと思ったんだけどキー制御ロジックがa-zA-Z0-9と特定のキーしか対応してないぽい。(厳密によく読んでないので違うかもしれないけど)


上記コードを書いておもったんだけど、autocommands.add のコールバックに渡される引数に contentWindow.wrappedJSObject がないのはなんでなんだろ?

contentWindow.document よりも window もらえた方がありがたいと思うんだけど。もしかしたらあんのかなー?

  • 追記

すでにやってる人いた~。

><

以前作ったLDRで購読停止するコマンドをVimperator的にするとこんな感じかな? - vimpがあればなんでもできるっ! - vimperatorグループ


ほー、こういう風にしたのか、と参考になった。

 |