■ Firefox でブックマークを常に新しいタブで開く
ここに書いてある事は2004年の頃の話であって超古いわけです。
今時、つまりFirefox3.0での改造方法を書いてる人は知りませんが、例えば拙作の OreTab ならブックマークは常にタブで開けます。余計な機能はついてますが、新タブに関する機能はアーカイブの tab.js を見ればすぐ理解出来るはずなので、自力でなんとかしたい人は参考にすると良いでしょう。また、一般的には TabMixPlus を使ってタブ機能を拡張するユーザが多いようです。
- 最近のバージョン(20041108)の場合は、またちょっと違うので こっち に書いてあります。
タブブラウザ拡張 を入れれば話しは簡単なんだけど、何故か Linux 上では描画がもっさりする気がしてならないので*1拡張を入れずに改造する方法。
デフォルトの動作だと、マウスの真ん中クリックで新しいタブが開きます。
firefox のディレクトリ/chrome/browser.jar を修正します。これは zip ファイルなので、unzip して、content/browser/bookmarks/bookmarks.js を修正。ちなみに Emacs なら jar ファイルを unzip しないで直接編集する事が出来て超便利なのでこの機会に是非。
開いたら540行目くらいの case "current" というのと、case "tab" と書いてある条件を入れ換えます。これだけで挙動が逆転し、通常のクリックで新しいタブで開いて、真ん中クリックで既にあるタブでブックマークを開くようになります。具体的な修正内容は後述。
ブックマークグループをタブで開く機能も何故か無茶苦茶不便なので、この機会に修正をしてしまいましょう。どう不便なのかと言うと、例えば3つ登録されているブックマークを開こうとすると、既に開いているタブを入れ換える形で開こうとするからです。私としては全てが新しいタブで開いて欲しいわけ。
先ほど修正を行った bookmarks.js を開き、余計な部分をコメントアウトします。
で、具体的な変更箇所は以下の通り。
※2004年10月4日くらいの nightly を使っている場合の変更点は、ここ に書いてあります。
- *1: Windows ではそんなに気にならないんだけど
* ブックマークを全てタブで開く修正
@@ -535,11 +535,11 @@ } var browser = w.document.getElementById("content"); switch (aTargetBrowser) { - case "current": + case "tab": browser.loadURI(url); w._content.focus(); break; - case "tab": + case "current": var tab = browser.addTab(url); browser.selectedTab = tab; browser.focus();
* ブックマークグループを全て新規タブで開く修正
@@ -575,16 +575,16 @@ var target = BMDS.GetTarget(res, urlArc, true); if (target) { var uri = target.QueryInterface(kRDFLITIID).Value; - if (index < tabCount) - tabPanels[index].loadURI(uri); - else +// if (index < tabCount) +// tabPanels[index].loadURI(uri); +// else browser.addTab(uri); - ++index; +// ++index; } } // If the bookmark group was completely invalid, just bail. - if (index == index0) +// if (index == index0) return; // Select the first tab in the group.
Posted by Kyosuke Takayama at 2004-05-29 (Sat) 09:06 printable version