Firefox4でLDRizeを復活させる

試行錯誤しながらFirefox4環境でLDRizeを復活させることが出来たのでメモ。情弱丸出しの内容になっています…。

1:Greasemonkeyに変更を加える

greasemonkey.jsを編集して変更を加える。
Firefox 4.0b10でGreasemonkey 0.9.1のユーザスクリプトのwindowを共通にする改造(開発者orVimper向け) - wlt’s blogに書いてある通りの変更を加えればよい
Windows7環境では、C:\Users\(user-name)\AppData\Roaming\Mozilla\Firefox\Profiles\(なんとかかんとか).default\extensions が拡張機能関連ファイルの格納場所で、Greasemonkeyスクリプトはこのディレクトリ以下にある。(AppDataは隠しフォルダになっているので注意)
Greasemonkeyは、{e4a8a97b-f2ed-450b-b12d-ee082ba24781}.xpiなので、作業しやすい場所にコピーして拡張子を.zipに変更。解凍すると色々でてくる。解凍したディレクトリ内の、\components\greasemonkey.jsに変更を加えればよい様子。
変更内容は上記リンク記事の通りで、-が除去、+が追加みたいな感じ(diffって差分表記みたいですがよく分からない)なので、それに沿って変更を加えていく。@とかで書いてあるのは行数?直感で変更を加えて特に詰まることもなく。
・.xpiファイルにしてインストールする
(念のため、変更を加えていない.xpiファイルを保存ディレクトリにコピーして作業した)
解凍してgreasemonkey.jsに変更を加えた分を再度.xpiにしてインストールする必要がある。zip形式で圧縮して.xpiに変更すれば良いだけだけど、{e4a8a97b-f2ed-450b-b12d-ee082ba24781}ディレクトリごと圧縮してやるとインストールしようとした際に破損しているとか言われるので、{e4a8a97b-f2ed-450b-b12d-ee082ba24781}以下のファイル群をまとめて選択して1つのzipファイルに圧縮する(chrome,components,defaults,modules...LISENCE.mplとかをExplorerで表示した状態にして全選択して圧縮ということ)。zipファイルは適当な名前にリネームして、拡張子を.xpiにする。
正しい操作がよく分からないものの、Firefox拡張機能画面を開いて、作った.xpiファイルを投げたらインストールするか尋ねてきて、インストールすると再起動して追加された。これでGreasemonkeyに対する変更は完了。

2:Minibufferに変更を加える

1だけの操作ではldrizeが復活してくれなかったので、今度はFirefox 4.0b8〜b9 でLDRize (Minibufferの修正) - wlt’s blogに従って変更を加える。
vimperatorだと1の変更をしなくても良い様なことが書いてあるけれどkeysnailだとどうなるのか分からなかったので…。
ただ、2についてはFirefox上からユーザースクリプトの管理を開いてテキストエディタとかでminibuffer.user.jsをいじれば良いのでラクだった。1と同じ手順で-部分を探して+の内容を反映させれば良い。

3.復活

変更を加えて保存し、ブラウザを再起動させたら見覚えのある赤い矢印が復活し、j,kで移動できるようになった。Googleの検索画面でpを押してピンを複数立ててoで一気に開くという挙動がうまくいっていなかったけど、普段1個ずつ開くタイプだしj,kでの移動ができるようになって大満足。(追記の内容で解消可能のようです)
ソースに直接変更加えるんだろうなということは何回か記事を読んでいて途中で分かった(1回で分からない辺り頭が残念)けど、greasemonkeyの作者が直接変更を加えない限りはバージョンアップの度に使えなくなるのではないかと思えて乗り気じゃなかった。だけど使えないのがあまりに不便なので挑戦した。再び使えるようになって凄く嬉しいけど、今後どうなっていくのだろう…自分で任意の機能を実装できるようになる必要があるなあ。


凄く初歩的なこと・合っている自信がないことを書きましたが、Firefox4LDRize動かなくなってイライラしてるという方がおられましたら、(参考になるか分かりませんが)どうぞ。


#3月29日追記

ピンを複数たててoで一気に開く操作について

https://github.com/swirhen/config/commit/dab8e5a44a71eba69630d08499ebc52d51b1fcf4を適用すれば動作させることができました。情報有り難うございます。