| トップ | Readme | 超格闘士列伝 | 随想録 | 天地無用!魎皇鬼 | リンク | フォーラム | メールフォーム |

ソフトウェア関連記事

 随想録の内ソフトウェアに関連した記事です。

Mozilla Firefox

(Geckoレンダリングエンジンを採用し、自由度の高い拡張性を備えたブラウザ)

Software

Last Updated:09/12/05

 2004年8月に久々にニューバージョンがリリースされたネットスケープが、かつて生き残りを賭けてスタートさせたオープンソースプロジェクト、Mozilla。しかし、度重なる開発の遅れに加え、ようやくリリースされたバージョン1.0は起死回生の一打どころか、サイズが大きい上に動作速度が使い物にならないくらいに遅く、結果Macの新規ブラウザへの採用を見送られる始末。

 Firefoxは、そんな『コードが長く、結果遅くてダウンロードサイズも大きい』というMozillaへの批判を受けて軽量・高速を目指して開発されたブラウザだ。実際、2004年11月09日にリリースされた初の正式版となるFirefox 1.0のダウンロードサイズはZIP版が約6.4MB、インストーラ版は4.7MB程度と、Mozillaに比べ半分かそれ以下となっている。これは現在の最新安定版である1.0.6でもほぼ同サイズである。

 ダウンロードサイズが小さいだけでなく、Firefoxは機能の面でも多くの点でIEを上回っている。タブブラウズ機能やLiveBookmarkのサポートはIEが持っていない強力な機能だし、他にも様々な機能がある(詳しくはMozilla Firefox ブラウザに乗り換える理由を参照)。但し、単体としてIEを使っていた人がIEに満足できなくなった時にFirefoxの他に乗り換えの対象として検討するであろう、OperaやIEコンポーネントを使ったタブブラウザに比べて強力で快適かというと、そうとは言い切れない。

 これは簡単に言えば設計思想の違いからくるもので、普通のアプリケーションはOSとの親和性が高いネイティブコードで書かれているのだが、Firefoxはまずクロスプラットフォームを念頭に置き、実装の部分はネイティブコードではなくXMLとJavaScriptを組み合わせたXULという独自のプログラム言語で書かれている。このおかげで各種の拡張機能をOS毎に設計する必要がなくなったのだが、弊害がある。遅いのだ。Firefox単体としては最低限の機能しか実装されていないためそれほどではないのだが、基本的には機能を追加すればするほど遅く、重くなる。つまり、機能と速度・重さがトレードオフの関係にあるということだ。

 また、単体として最低限の機能しか実装していないが故に、最初からある程度機能拡張がなされているOperaやIEコンポーネントを用いたタブブラウザに比べると『そのままでは』機能面で貧弱であると言わざるを得ない(当然素のIEよりは高機能だが)。

 しかし、だからと言ってFirefoxは乗り換えに値しないというわけではない。その第一の理由に、一般にMozilla系のブラウザはIE系のそれに比べて安全性が高いことが挙げられる。これは『オープンソースだから』と説明されることもあるが、実際には『マイナーなブラウザな為ワザワザ狙われないから』というところが大きい。脆弱性を利用しようとする悪意ある第三者は、金銭目的にせよ愉快犯にせよ(特定のブラウザ或いはそのユーザに対して特に感情を抱いていない場合)先ずはシェア90%以上を占めるIEを標的とする。それが最も効率的で効果的だからだ。そのため、ブラウザの脆弱性を狙った攻撃の多くはIEの使用を避けることでで回避できる。

 第二に、Firefoxは見た目をかなり自由に、簡単にカスタマイズ出来る。その自由さは、豊富なテーマ(他ソフトで言うスキン)によるアイコンや配色の変更に留まらない。ユーザ独自のカスケーディングスタイルシートを用意することで、不要なメニューやコンテキストメニューを削除したり、部分的にフォントを変更したりといった、他ソフトであればソースに手を加え再コンパイルが必要なことまで出来てしまう。

 第三に、Firefoxは自分の使いたい機能を拡張できる。IEコンポーネント使用のタブブラウザやOperaを使っている人でも、実際にその全ての機能を使い切っているという人は稀であろう。自分の使いたい機能を全て拡張したFirefoxがそれらよりも軽く、速いか、或いは少々重く、遅くともその差よりもFirefoxの魅力が勝っているなら、乗り換えるだけの理由になる筈だ。

 因みに筆者の場合、11個の拡張(All-In-One Search ButtonJavaScript Actionsオフライン拡張FlashBlockFlashGotGmail NotifierStop-or-Reload ButtonCuteMenusTab Mix PlusImgLikeOperakeyconfig enh)を入れているが、起動にかかる時間は14秒程度(Windows 2000 SP4、PIII 1Ghz、メモリ512MBのマシンで綾川氏の1.5b1 P3ビルドを使用の場合)。但し、これは初回起動時の話で、DLLがメモリ上にロードされていれば3秒以下となる。これは少し遅いかもしれないが、メニュー表示、レンダリング、タブ切り替え等のレスポンスは非常に速く、快適に使えている。マシンスペックが高ければもっと速く動くことだろう。
 また、起動速度の改善策としては、後述するようにFirefox Preloaderを入れ、OSのスタートアップ時に常駐させるという方法もある。

 設定はIEしか使ったことがない人にとっては少し難しいかもしれない。一般的な設定はIEのインターネットオプションのようなオプションから設定できるが、IEの詳細タブにあるような細かい設定はアドレスバーにabout:configと入力して開く設定画面か、或いはuser.jsというファイルをプロファイルフォルダに作成して設定してやらねばならない。しかし、よくわからない場合にはFirefox Help: 使用上のヒント等の情報が公開されているので、そちらを参照すると良いだろう。

 さて導入だが、このFirefox、毎日新たなBuild(バージョンと読み替えても良い)が作られているので、どれを落としたらよいかわからないという人もいるだろう。そんな人は、取り敢えずはMozilla Firefox インストールガイドを一読すると良い。ダウンロードからインストールまでの流れが非常に解りやすく解説されている。

 インストールが済み、一通り使ってみてもし何か物足りないところが出てきたら、Firefox Help: 拡張を覗いてみよう。自分に必要な機能拡張(所謂アドオン、プラグイン)がある筈だ。特にFirefoxのタブブラウザ機能を強化するタブブラウザ拡張を導入すると、FirefoxをSleipnirやDonutのようなタブブラウザとして利用できるようになる。

 と、まぁ色々と紹介したが、本当のところは使ってみなければわからない。前述したようにFirefoxのインストーラ版のダウンロードサイズは4.7MBに過ぎず、また完全に無料で提供されている。習うより慣れろの諺どおり、まずは使ってみるのが一番良い。Firefox 日本語公式サイト曰く、失うものはなにもないのだから・・・。

おまけ −ヒント集−

 既に使っている人向けの情報。Firefoxまとめサイト見た方が早いです。

不必要なメニューを非表示

 ページ内で右クリックしたときに出て来るコンテキストメニューの中で、要らないものは削除することが出来ます。詳しくはHow can I remove items from right-click context menu?を参照。

 また、上段の要らないメニューも消すことが出来ます。例えば、「ヘルプ」と「移動」を消すには、下記をuserChrome.cssに足します。

/* Remove the Go and Help menus */
 menu[label="移動"], menu[label="ヘルプ"] {
   display: none !important;
}

 このlabel=となっているところの中身を、消したいメニューの名前と同じにすればファイルやブックマークも消せます。因みに、英語版の場合は英語のラベルにします。また、英語日本語を時々によって使い分ける場合は例えば、

/* Remove the Go and Help menus */
 menu[label="Go"], menu[label="Help"], menu[label="移動"], menu[label="ヘルプ"] {
   display: none !important;
}

 このように書くことで言語を切り替えても消えたままにすることが出来ます。但し、userChrome.cssの中身に日本語を含む場合、エンコードをUTF-8で保存しないと正しく動きません。

 メニューアイテムの削除については詳しくまとめましたのでどうぞ。 → 不必要なメニューを非表示

タブブラウザ拡張の機能の内一つ、或いは複数を置き換える拡張

  1. 本来新規ウィンドウに開くリンク(link targetが_blankなリンク等)をタブで開く他色々
     → Tab Mix by softcup
     → Tabbrowser Preferences by TheOneKEA
  2. Firefoxを終了するとき、各ウィンドウの全てのタブの状態を保存し、次回起動時に復元する
     → Session Saver by rue
     → Tab Mix by softcup
  3. Firefoxがクラッシュしたとき、各ウィンドウの全てのタブの状態を保存し、次回起動時に復元する
     → Session Saver by rue
     → Crash Recovery by zeniko
  4. タブのドラッグ&ドロップ、マウススクロールでのタブ切り替え等
     → Tab Mix by softcup
     → miniT by Dorando
  5. 『タブを閉じる』を各々のタブに追加
     → Tab X by clav
     → Tab Mix by softcup
  6. 最後のタブを閉じたときウィンドウ自体は閉じず、空白ページを表示したタブを表示する
     → Blanklast by cch
     → Click2Tab by NetOne
     → Tab Mix by softcup
  7. 現在フォーカスしているタブを閉じたとき、その前にフォーカスしていたタブにフォーカスを移す
     → FLST (Focus Last Selected Tab) by Gorgias
     → Tab Mix by softcup
  8. 最後に閉じたタブを戻す
     → Undo Close Tab by Dorando
     → Click2Tab by NetOne
     → Tab Mix by softcup
  9. 最近閉じたタブを復元する
     → Undo Close Tab by Dorando
     → Click2Tab by NetOne
     → Tab Mix by softcup
  10. 現在開いているタブの一覧を表示する
     → Tab Mix by softcup
     → ContextFox by Omar
  11. 現在のタブのコピーを新規タブに開く
     → Tab Mix by softcup
     → Duplicate Tab by Twanno
  12. タブをダブルクリックで閉じるようにする等、ミドルクリック、ダブルクリックに様々な動作を割当てる
     → Tab Clicking Options by Twanno
     → Tab Mix by softcup
  13. 任意のタブ内のリンクを全て新規タブで開くように設定する
     → Tab Mix by softcup
     → Tabbrowser Preferences by TheOneKEA
     → tabloc by Asukaze

※詳細はXUL Apps > Tabbrowser Extensions - outsider reflexや、Rebuilding TBE's featureset with other plugins, III - MozillaZine Forums(英語)を参照。

タブブラウザ化

 Firefoxはそのままでもタブブラウズ機能はありますが、一般的なタブブラウザと同じ挙動にするに工夫が必要です。最も簡単な方法はタブブラウザ拡張をインストールすることですが、以下のような方法でも実現できます。

 Firefoxは外部アプリからリンクをFirefoxで開こうとした場合や、右クリックから「Open in New Window」を選んだ場合、或いはリンクのTargetが_blankな場合等にはデフォルトでは新規ウィンドウにページを開こうとします。これを防止(或いは抑止)し、それらを新規タブで開かせるには、about:configからbrowser.tabs.showSingleWindowModePrefstrueに設定し、その後Firefoxのオプションの詳細から設定するか、或いはTab MixTabbrowser Preferences等をインストールして設定します(こちらの方が簡単です)。

タブの合計幅が画面幅を超える場合の対策

 喩えリンクをタブに開くようにしても、デフォルトのままだとFirefoxでは開いたタブの合計タブ幅が画面幅を超える場合、超えた分のタブは不可視領域に追いやられ、マウスカーソルでは選択できなくなってしまいます。これを何とかしたい場合、以下のいずれかの対策を施します。

タブバーの右端にスクロールボタンを表示

 Tab MixScrollable Tabsで設定可。

等幅タブを多段表示

 Tab Mixで設定するか、或いはuserChrome.css(デフォルトならC:\Documents and Settings\ユーザ名\Application Data\Mozilla\Firefox\Profiles\default.***\chromeにある)に、下記を追加。

/* multiple lines of tabs */
tabbrowser tabs > hbox { display: block; }
tabbrowser tab, tabbrowser .tab-icon, tabbrowser .tab-text { display: inline; }
tabbrowser tab { width:80px;}

※Mozilla Firefox Part17 http://pc5.2ch.net/test/read.cgi/software/1092524939/357、及びhttp://forums.mozillazine.org/viewtopic.php?p=347499#347499より

※widthの値は変更可。

可変幅のタブを多段表示

 Tab MixFlowing Tabsを入れれば実現出来ます。Tab Mixの場合はタブ幅の範囲はオプションから設定できますが、Flowing Tabsの場合はuserChrome.cssに下記のように指定します。

/* minimum and maximum width of tabs */
tabbrowser tab { min-width:50px; max-width:150px;}

Web検索バーやロケーションバーからの入力を新規タブに開く

 Tab MixTabbrowser Preferencesで設定出来ます。或いは、鷹の島: Firefox のタブ機能を改造にある方法でbrowser.jarの中身を改造したり、+ HideAway Firefox +のstartup.xpiかJSActions.xpiとstartup scriptの組み合わせでも出来ますが、あまり初心者向けではないと思います。

ブックマークを左クリックで新規タブに開く

 DonutファミリーやSleipnirを始めとするタブブラウザはデフォルトでメニューの「お気に入り(Mozilla系ブラウザで言うブックマーク)」を左クリックで新規タブに開きますが、Firefoxではそうではありません。この機能を実現するにはClick2TabTab Mix、またはをMiniT Enhanced Versionをインストールします。因みに、Click2TabやTab Mixの場合、履歴も左クリックで新規タブに開くようにできます

 この他には上記鷹の島: Firefox のタブ機能を改造にある方法か、+ HideAway Firefox +のstartup.xpiかJSActions.xpiとstartup scriptの組み合わせでも可能です。

 また、ブックマークフォルダのミドルクリックやブックマークの「タブで開く」で既存のタブに上書きしないようにするには、about:configからbrowser.tabs.opentabfor.bookmarkstrueにします。

 因みに私はタブブラウザ化関連だとTab Mix Plusで内外のリンクに加えてブックマークとWeb検索バー、ロケーションバーからの入力を新規タブに開くようにし、シングルウィンドウモードを有効、更に多量のタブ対策にタブバーの右にスクロールボタンが出るように設定しました。この他、見た目の変更については後述してます。

タブをアクティブか否かで色分けする

 テーマを導入していればデフォルトで色分けされている事が多いですが、デフォルトだとそうではないのでデフォルトのテーマ用に取り敢えず私の設定を。
 userChrome.css(デフォルトならC:\Documents and Settings\ユーザ名\Application Data\Mozilla\Firefox\Profiles\default.***\chromeにある)に、下記を追加。

/* Change appearance of tabs */
tab{
   -moz-appearance: none !important;
   text-align: center !important;
   padding-top:3px !important;
   padding-bottom:2px !important;
   margin:0 !important;
   font-weight:normal !important;
}

/* Change appearance of active tab */
tab[selected="true"] {
   background-color: #B0B0BE !important;
   color: white !important;
}

/* Change appearance of inactive tabs */
tab:not([selected="true"]) {
   color: #8484B5 !important;

※これはデフォルトのテーマ用です。アクティブなタブの背景色を暗めにし、バックグラウンドのタブの文字を白にすることでアクティブなタブを強調しています。色が気に入らない場合colorやbackground-colorの行は好きに変えられます。
※また、デフォルトではタブバーの縦幅が広すぎると思っているので、padding-topとpadding-bottomを指定して細くしてあります。
※この他userChrome.cssやuser.jsに関してはFirefox Help: 使用上のヒントを参照のこと。

タブブラウザ化、タブ色分け他諸々の適用例

 デフォルトテーマ@Windows 2000 SP4。

 因みに、ステータスバーにあるのはオフライン拡張とGmail NotifierとSwitchProxyとImgLikeOperaのUIです。
 やろうと思えばテーマインストールしなくてもこのくらいの見た目の変更は出来ます。どっちが軽いかは知りませんけど。

少しでも動作を軽く、高速にするまとめ。

 このあたりです。このうちの大体を実行した結果、Dualとは言え1GHzのCPUにPC133のメモリ512MBの私のマシンで起動速度以外はIEコンポ使用のタブブラウザと変わらない速度(寧ろ挙動はFirefoxの方が速い気がするくらい)で快適に動いてますので、現在一般的な環境にある方は快適に使える筈。
 この他根本的な解決策としては、古いマシンを窓から投げ捨てて高速で俊敏なCPUに高速なメモリを積めるだけ積み、更に高速なハードディスク(RaptorとかSCSIで10000rpm以上のHDDとか)でも搭載したマシンに買い換えることが考えられます。特に起動に関してはCPUよりもメモリやHDDの速さの方が影響しそうです。デフラグも大切。

 また、最後に書いたFirefox PreloaderやMinimize to Trayを使うと、所謂クイック起動をタスクトレイに常駐させることが出来ます。これで一番遅い起動を最初の一度しか行わなくて良くなります。

拡張日本語化

注意!

→ 日本語locale追加版の更新を停止した拡張

CuteMenus JLP適用済みFirefox対応版

アイコン提供者求む。特に「この検索にキーワードを付けて登録...」及び「リリースノート」用。

 Firefoxのメニューや右クリックメニューの先頭にアイコンを付ける拡張、CuteMenusですが、実装の問題でJLPを適用すると英語の時はついていた一部のアイコンが消えてしまいます。そこで、JLPを適用してもそれらがついたままになるように改造してみました。日本語locale追加版ではありません(って言うかするところないし)。また、英語版Firefoxで訳語の変更のため公式版では表示されなくなったアイコンを表示されるようにしました。
 但し、前述の実装上の問題により、JLPの方で訳語が変更されると使えなくなります。そのため、今回リリースするバージョンは、Windows用Firefox 1.0 公式日本語版で動作確認を行っています。その他、Dynamis氏のDevelopment JLP 0.6.14と0.6.19でも動作を確認しました。これら以外のバージョンや、或いは公式以外のJLPを使用している場合、期待する動作は保証されません

SwitchProxy Tool 日本語locale追加版

 プロキシの変更をUIから行えるようになる拡張、SwitchProxyの日本語locale追加版です。
 そのままじゃ日本語化されない部分を日本語化するために一部書き替えたので名前にmodをつけてますが、機能に影響・変更はありません。

Tab Mix 日本語locale追加版

 タブ関連の様々な拡張を統合したTab Mixに日本語localeを追加しました。基本的にβ版は一般公開はしません。RCは扱いが微妙ですが。

解説はFirefox拡張:Tab Mixが詳しいかと。

Mozilla Firefox - The Browser, Reloaded(日本語版公式サイト)
http://www.mozilla-japan.org/products/firefox/

Firefox Help 日本語版 - Web ブラウザ Mozilla Firefox オンラインヘルプ
http://texturizer.net/mozilla/jp/firefox/

Mozilla Firefoxまとめサイト(必読)
http://firefox.geckodev.org/

Firefox:スクリーンショットと解説 (特に拡張紹介が分かりやすい)
http://www.ikimono.org/soft/firefox.html

Nightly Buildの場所
http://ftp.mozilla.org/pub/mozilla.org/firefox/

Life, starting anew (Windows用の各CPU最適化版があります)
http://pryan.org/firefox/jayfromtaiwan/blog/

Moox (Windows用の各CPU最適化版があります)
http://www.moox.ws/tech/mozilla/

非公式ビルドや最適化版各種
http://forums.mozillazine.org/viewforum.php?f=42

意見・感想の投稿先

 フォーラム

| トップ | Readme | 超格闘士列伝 | 随想録 | 天地無用!魎皇鬼 | リンク | フォーラム | メールフォーム |