■ 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。