user.js/Prefs.js
prefs.js は Firefox, Thunderbird, Sunbird といったブラウザを含む Gecko 系アプリケーションの各種設定が書き込まれているファイルです。この prefs.js はプロファイルディレクトリに存在しています。
ブラウザ他の設定が変更されると、アプリケーションの終了時に主にこの prefs.js の内容が書き換わります。また外部から編集することで、次回起動時に変更内容を反映されることが可能です。
user.js はプロファイルディレクトリにあらかじめ存在していませんが、ユーザー側で設置することによって、その内容が prefs.js にコピーされます。
Gecko 系アプリケーションの細々とした設定を編集する場合、prefs.js を直接編集しても、また user.js に編集したい個所の記述を行い、結果 prefs.js にコピーされても結果は変わりません。
少々の変更ならば GUI 経由、または prefs.js の編集を、永続しておきたい設定は user.js に記述すると良いのではないでしょうか。
なお、アプリケーション起動中に prefs.js を編集しても、終了時に上書きされてしまいます。また user.js に記述が残っている限り、GUI 経由その他での設定変更は次回起動時に user.js の内容に上書きされることになります。
user_pref("browser.startup.page", 0);
Firefox は Mozillaと違いしっかりとしたホームボタンが用意されているにも関わらず、ホームボタンに URI を設定した上で、起動時は about:blank で読み込むと言う設定が GUI に用意されていません。
以上を prefs.js, user.js に記述することで上記挙動となります。起動処理と同時にページ読み込みを行うことは相対的な遅延を招くため、ある程度有効かと。
user_pref("nglayout.initialpaint.delay", 0);
Firefox はデフォルトで、ページの読み込み開始から 240 ミリ秒の間を置いて描画を行います。上記一行の指定では間を置かず描画することになります。高スペックの PC では体感速度が大きく向上するかもしれません。
しかし読み込みながらの描画はかなりのパワーを消費するため、スペックが足りない場合は返って体感速度が低下しかねません。その場合は 30 から 120 など、適度な値に変更しましょう。
逆に 240 ミリ秒でも重いという場合は 480 なり 960 なり、値を上げてみると良いかもしれません。
user_pref("network.http.pipelining", true);
user_pref("network.http.proxy.pipelining", true);
Mozilla Suite に GUI で項目が用意されている HTTP パイプラインを有効にする記述。HTTP 1.1 に対応したサーバーとのやり取りが高速化されます。上が通常接続で下がプロキシ接続とのこと。
user_pref("network.http.pipelining.maxrequests", 4);
実際にパイプラインを有効にした場合にサーバーへリクエストを送るのリクエスト数の設定。標準で 4 とのことです。制限が 8 なので 100 等の値を入れても意味がないとはよく言われています。
user_pref("browser.chrome.favicons", false);
ブックマークやタブに表示される favicon (サイトアイコン) を無効化する。テーマのブックマークアイコンを気に入っており、favicon が目ざわりという場合は入れるとよろしいかと。
また favicon は Firefox のブックマークファイルである bookmarks.html に保存されるため、ブックマークの肥大に繋がります。それを嫌う場合もお勧めです。
user_pref("browser.chrome.site_icons", false);
favicon がロケーションバー (アドレスバー) に表示されることを防ぎます。なお、ロケーションバーに表示された favicon は bookmarks.html に保存されないのでこれは無効にせずとも良いかもしれません。
user_pref("browser.download.manager.showAlertOnComplete", false);
Firefox はダウンロードの終了とともにポップアップを表示しダウンロードの終了を知らせてくれます。しかしこの表示は若干わずらわしいことも否めません。そうしたポップアップ表示を無効化します。
user_pref("general.useragent.override", "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.7) Gecko/20050414 Firefox/1.0.3");
ブラウザが名乗るユーザーエージェント名を変更 (詐称) します。ただし同機能を持つ拡張機能などでも同様ですが、UA を変更することでトラブルが起こる場合があります。
拡張機能にせよ、手動にせよ、その場合は prefs.js から UA 変更の記述を削除すれば解決するはずです。user.js に記述した場合は忘れずにそちらも削除しましょう。
なお各メジャーブラウザの UA 一覧。
user_pref("network.http.sendRefererHeader", 2);
リファラ情報を送信するか否かの設定です。通常は 2 が設定されており、リンククリック時と画像読み込み時に送信されます。1 ではこれがリンククリック時のみとなり、0 で全てのリファラを送信することがなくなります。
しかし起動中の変更が適用されるので、わざわざ編集するよりは PrefButtons や PrefBar を使う方が便利かと思われます。
user_pref("image.animation_mode", "normal");
通常は normal. once で一回のみのアニメーション。none で一切アニメーションを行わなくなります。ただし GIF カウンタといったアニメーション GIF を用いたものまで動作しなくなります。
しかし起動中の変更が適用されるので、わざわざ編集するよりは PrefButtons や PrefBar を使う方が便利かと思われます。