2004-05-29 (Sat)

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

この記事へのコメント

コメントはお気軽にどうぞ

Cookie に保存しますか?


・スパム対策のため、http:// を含むコメントの投稿は出来ません。
・スパムチェックのため、投稿がすぐに反映されない場合があります。
・メールアドレス入力欄には何も入力しないでください。

トラックバック

トラックバックURL: http://espion.just-size.jp/mt-tb.cgi/69


この記事のリンク元

 
Copyright (C) Kyosuke Takayama, All rights reserved.