2004-11-15 (Mon)

Firefox のタブ機能を改造

遅ればせながら Firefox の 1.0 を導入してみました。

で、いつものようにブックマークと検索バー関連の改造を施してみました。

ブックマークは、クリックでタブから開くようにし、タブグループ(って言うの?)は常に新しいタブで開くようにします。

検索バーも、同じくデフォルトで新規タブが開くようにします。

「Firefox のインストールディレクトリ/chrome/browser.jar」 を開いて、後述するパッチをあてればOKです。このファイルは zip 圧縮されているファイルなので、windows なら .zip とかに拡張子を変えれば展開出来るんじゃないかと思います。パッチなんて良くわかんねーよって人は、bookmarks.js とか、browser.js とかを探して、手動で書き換えてもOKです。+ は追加された行で、- は削除された行。@ で始まる行は行番号です。

パッチとか zip とかわけわかんねーよ、面倒くせーよって人は、私が書き換えた browser.jar を置いておくので、これを使ってくれても構いません。

このファイルは Linux 版のファイルを書き換えたものですが、他のプラットフォームでも多分同じ物だと思います。一応念の為、元のファイルをどこかに残しておいてから試して下さいね。試した人は結果を教えて貰えると嬉しいです。もちろん Firefox1.0(20041108バージョン?) じゃ無いバージョンで差し替えても動かないと思うので、その辺は注意しましょう。

ちなみに、Mac(OS X) の場合はインストールディレクトリなんて無いようなもんなので browser.jar は見付からないと思います。Firefox のアイコンを右クリックして出るメニュー(コンテキストメニューの事)から、パッケージの内容を表示ってのを選べば中身が表示されるので、その中の chrome と言うディレクトリの中に browser.jar が入っているのでそれをいじっちゃって下さい。

慣れちゃえば簡単なんだけど、始めて挑戦する人は結構おっかなビックリだと思います。しかも、新しいバージョンにする度にやらないといけないし。誰か、この機能だけを実現する拡張を作ってくれないだろうか。自分でやってみようとしたけど、思いのほか複雑に感じたので即座に挫折しました。このためだけに拡張の作成方法を覚えるのも何だか面倒だしねぇ。

Hide Away さんの所にある Startup という拡張を使えば、ここに書いてある改造をするよりも簡単に同様の事が実現出来るのでお薦めです。

Startup を入れて、プロファイルディレクトリに StartupScript まとめ版 を置くだけで完了です。

* ブックマークに関する改造

diff -udr content.old/browser/bookmarks/bookmarks.js content/browser/bookmarks/bookmarks.js
--- content.old/browser/bookmarks/bookmarks.js  2004-10-29 06:39:35.000000000 +0900
+++ content/browser/bookmarks/bookmarks.js  2004-11-15 13:48:11.000000000 +0900
@@ -568,7 +568,11 @@
     // Ignore "NC:" and empty urls.
     if (url == "")
       return;
-
+      if(aTargetBrowser == 'current' && url.indexOf('javascript:') != 0) {
+        aTargetBrowser = 'tab';
+      } else {
+        aTargetBrowser = 'current';
+      }
     openUILinkIn(url, aTargetBrowser);
   },

@@ -601,11 +605,11 @@
         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;
         }
       }

* 検索バーに関する改造

diff -udr content.old/browser/browser.js content/browser/browser.js
--- content.old/browser/browser.js      2004-11-06 14:52:30.000000000 +0900
+++ content/browser/browser.js      2004-11-15 13:51:21.000000000 +0900
@@ -1453,14 +1453,14 @@
   if (gBrowser.localName == "tabbrowser" &&
       aTriggeringEvent && 'altKey' in aTriggeringEvent &&
       aTriggeringEvent.altKey) {
+    loadURI(aURL, null, null);
+  } else {
     _content.focus();
     var t = gBrowser.addTab(aURL, null); // open link in new tab
     gBrowser.selectedTab = t;
     if (gURLBar)
       gURLBar.value = aURL;
   }
-  else
-    loadURI(aURL, null, null);
   _content.focus();
 }

Posted by Kyosuke Takayama at 2004-11-15 (Mon) 14:20 printable version

この記事へのコメント

1) potappo (2004-11-19 (Fri) 01:31)

Windows版のFifefoxでも動作しました。こういうの探していたので、ありがたいですm(_ _)m。

2) 裸電球 (2004-11-20 (Sat) 17:18)

TbPとminiT抜けないかと思って探したら丁度ドンぴしゃの方法が見つかって幸せです。
JTw氏のFirefox 1.0 advAで動作を確認しました。
URLbarの方も同じように改造したらきちんと常に新規タブで開くようになりました。
ありがとうございました。

3) takayama (2004-11-20 (Sat) 21:35)

>potappo さん
ありがとうございます。やっぱり browser.jar も同じものなのですね。安心しました。

>裸電球さん
URLbar も検索バーをいじるのと手間は変わらないですよね。
やっぱこの三機能のみがついた拡張が欲しいですねぇ…。

4) 裸電球 (2004-11-21 (Sun) 02:33)

私はJSはさっぱりわからないので多分ですが、
http://hideaway.under.jp/Firefox
のstartup.xpiで可能だと思います。
ただ書いてある通りLinuxで出来るかは解りません。
Bookmarkを新規タブにする方をどう書けばいいか解らないので私は直接書き替えてますが。

5) takayama (2004-11-21 (Sun) 11:44)

お〜、これはなかなか便利そうですね。
さっそくチェックしてみた所、startup.js のパスをちょこちょこいじれば Linux でもうまく動くようです。
ブックマークとアドレスバーの新タブ設定を書いてみようと思います。
有難うございました。

6) 裸電球 (2004-11-21 (Sun) 15:18)

いえいえ。
上手くいきましたらやりかた教えて下さいねー。

7) takayama (2004-11-21 (Sun) 19:09)

もちろんここで書きます〜

8) takayama (2004-11-23 (Tue) 09:15)

ブックマークの、出来たーって思ったら既に向こうで完成してました。あぅ

9) よし (2004-11-27 (Sat) 19:29)

>>「Firefox のインストールディレクトリ/chrome/browser.jar」
の場所にここの管理人様が作った「browser.jar」を上書きすればいいのでしょうか?
変な質問ですみません。

10) takayama (2004-11-29 (Mon) 10:58)

ええ、その通りです。

11) あねま (2005-01-04 (Tue) 17:28)

こちらの「browser.jar」をWin版へ入れると
プルダウンメニューの「ツール」→「オプション」が
「編集」→「設定」へと場所が変わりますね・・・(汗
今のところ動作等には問題がありません。

「履歴」の項目を選択した場合も新しいタブで開きたい、
「アドレスバー」でURLを入力した場合も新しいタブで
開きたい場合にも改造で対応可能でしょうか?
ご指導いただけると大変ありがたいですm(_ _)m

12) takayama (2005-01-12 (Wed) 18:01)

メニューの位置が変わるのは、linux 版だからでしょうね。
windows と linux では、設定メニューの表示位置が違うそうです。

アドレスバーの場合は、hideaway さんの所が参考にならないでしょうか。
BrowserLoadURL をいじれば動作を変更出来ます。
http://hideaway.under.jp/FFBBS/patio.cgi?mode=view&no=31

トラックバック

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

ゆく河の流れ: Mozilla Firefox1.0.3&Suite 1.7.7 Release. (2005-04-17 (Sun) 04:26) 0%

Mozilla Firefox 1.0.3/Suite 1.7.7 Released [mozillazine] 三つの致命的欠陥を修正したFirefox 1.0.3とMozilla 1.7.7リリース [スラッシュドット ジャパン] セキュリティアップデートがメインのようです。利用者はアップデートをお奨めします。Firefoxについては以...


CRUSADER'S ROOM分室: さて新マシンに移行する準備をしているわけですが (2005-08-04 (Thu) 07:56) 0%

FireFoxをいれて拡張を突っ込んで…と、StartUP Extが配布停止になっとる!!!


朝顔日記: 朝顔日記 - Firefox 拡張、Search Result in New Tab を作ってみた (2005-12-20 (Tue) 12:34) 0%

検索バーでの検索結果を新規タブで開くようにする Firefox の拡張機能、Search Result in New Tab を作ってみた


鷹の島: Firefox2.0でブックマーク新タブ、検索バー新タブの改造 (2006-10-25 (Wed) 10:50) 0%

以前にやった Firefox のタブ機能を改造 の2.0バージョン。 TabMix Plus がまだ2.0に対応していないのと、そろそろ TabMix 不要なんじゃね?って事で、browser.jar 書き換えをやってみた次第。ていうかただのメモです。 diff -ur old/content/browser/bookmarks/bookmarks...



この記事のリンク元

 
Copyright (C) Kyosuke Takayama, All rights reserved.