朝顔日記

Firefox のセットアップ後にいつも行う設定を user.js で

2009-01-31

Mozilla Links 日本語版: あなたの Firefox のデフォルト (原文 Your Firefox defaults - Mozilla Links)に答えてみます。

私は、通常英語版の Firefox を使っていますが、日本語のサイトを見るほうが圧倒的に多いので、日本語サイトを快適に閲覧できるように、日本語版に近い設定に変えています。優先言語の設定や、フォントの設定のあたりですね。ここらは日本語版を使っている場合はほとんどいじる必要がないとも言えます。

あと、タブ周りの設定も必須ですね。タブバーは常に表示したいとか、複数のタブを閉じるときもいちいち警告するなとか、のあたりです。他に、タブの最小幅や最大幅なんかも設定しています。

その他には、ソース表示画面では右端で折り返してほしいとか、検索バーからの検索結果は常にタブで表示してほしいとか、アドオンマネージャにはアドオンのインストールボタンを常に表示してほしいとか、デフォルトではマウススクロールの量が少なすぎるので、1回転がしたらもっとスクロールしてほしいとか、まぁ、色々あります。

で、こういう設定は、ツールメニューのオプション設定や、about:config なんかで設定することが出来るわけですが、いちいちそんなことをするのは面倒くさいわけです。そういう自分にとってほぼ固定的な設定をあっさり行うために Firefox には user.js というものがあります。プロファイルフォルダに user.js をいうテキストファイルを文字コード utf-8 で作って、そこに設定を書いておけば Firefox はその設定を読んでくれるというわけです。したがって、新しいプロファイルを作成した場合は、この user.js ファイルをコピーしてやるだけで、いつもの設定は完了です。便利ですね。

ということで、私の user.js の抜粋を書いておきましょう。他に常用している拡張機能関係の設定ですとか、ネットワーク関係の設定なんかを書いています。


// 標準で使用する文字エンコード
user_pref("intl.charset.default", "Shift_JIS");

// 文字エンコードの自動認識設定を指定するロケール中のURI
user_pref("intl.charset.detector", "ja_parallel_state_machine");

// 標準のフォントタイプ
user_pref("font.default", "sans-serif");

// フォントの言語グループ
user_pref("font.language.group", "ja");

// 標準で使用する文字エンコード
user_pref("intl.accept_languages", "ja, en-us, en");

// タブバーは常に表示
user_pref("browser.tabs.autoHide", false);

// タブのクローズボタンを消す
user_pref("browser.tabs.closeButtons", 2);

// 警告無しで複数のタブを閉じる
user_pref("browser.tabs.warnOnClose", false);

// シングルウィンドウモード
user_pref("browser.link.open_newwindow", 3);

// ウィンドウのサイズ指定付のリンクもタブで開く
user_pref("browser.link.open_newwindow.restriction", 0);

// タブの最大幅
user_pref("browser.tabs.tabMaxWidth", 180);

// タブの最小幅
user_pref("browser.tabs.tabMinWidth", 50);

// 検索バーの検索結果を新規タブで
user_pref("browser.search.openintab", true);

// ソース表示で長い行を折り返すか
user_pref("view_source.wrap_long_lines", true);

// マウスホィールのスクロール量を増やす
user_pref("mousewheel.withnokey.numlines", 9);
user_pref("mousewheel.withnokey.sysnumlines", false);

// アドオンマネージャにインストールボタンを表示
user_pref("extensions.hideInstallButton", false);

// フレームなページで、強制的にリサイズ可能に
user_pref("layout.frames.force_resizability", true);

// ウィンドウ移動・サイズ変更を許可しない(JavaScript の詳細設定)
user_pref("dom.disable_window_move_resize", true);

// 右クリック禁止ページを回避(JavaScript の詳細設定)
user_pref("dom.event.contextmenu.enabled", false);

// Feed リーダに自前設置の Fresh リーダを追加
user_pref("browser.contentHandlers.auto.application/vnd.mozilla.maybe.feed", "http://diary.noasobi.net/freshreader/feedsubindex.php?u=%s");
user_pref("browser.contentHandlers.types.3.title", "FreshReader");
user_pref("browser.contentHandlers.types.3.uri", "http://diary.noasobi.net/freshreader/feedsubindex.php?u=%s");

なお、Firefox の全設定は、プロファイルフォルダにある pref.js というファイルに保存されているのですが、Firefox は起動時に user.js の内容を pref.js にコピーするように出来ています。したがって、Firefox のオプションメニューなどで設定を変更しても、user.js がそのままであれば、次回起動時には再び user.js の設定が有効になります。また、user.js を削除しても、いったん pref.js に書き込まれた設定は自動的に削除されないので、オプションや about:config などから不要な設定をリセットしてやらないと、そのまま残ることになります。Firefox を終了した状態で、直接 pref.js を編集するという力技もありますが、失敗すると Firefox が起動できなくなったり、大変なことになるのであまりお勧めできません。

一応書いておくと、about:config を使ってある設定をリセットするには、abouto:config でリセットしたい項目を表示させ、右クリックしてリセットを選べば、リセットすることが出来ます。

参考
今日の小ネタ「about:config で不要のエントリーの削除」 - Another 朝顔日記

何しろ、欲張って user.js にたくさん書くと、リセットするのが面倒なので、ほぼ変更することのない自分にとって固定的な設定のみ user.js に書いておくのがいいと思います。

なお、プロファイルの場所とかしらねぇよ、という方は、プロファイル あたりを参考にしてみてください。

「Firefox のセットアップ後にいつも行う設定を user.js で」へコメントをつける

書き込み時の挙動について
URI らしき文字列には自動的にリンクが張られます。また "<" や、">" は実体参照化されます。
スパム対策のため、リファラを切っていると投稿できません。

この記事へのツッコミ

1: bourbon (2009-04-01T11:41:06+09:00)
報告です。(特に質問ではありません)
FireFox3 で
user_pref("dom.disable_window_open_feature.location",false);
が効かないようです。
これはv3の仕様なんですかね?
2: のり (2009-04-01T19:06:45+09:00)
Firefox 3.0.8 と Firefox 3.1b3 で試してみましたが、私のところでは効きましたよ。拡張機能か何かが影響しているのではないでしょうか。

トラックバック

1: Another 朝顔日記/[Firefox]Firefox のセットアップ後にいつも行うツールバーのカスタマイズ (2009-01-31T13:09:50+09:00)
Mozilla Links 日本語版: あなたの Firefox のデフォルト とか、朝顔日記 - Firefox のセットアップ後にいつも行う設定を user.js で 関連で、Firefox のセットアップ後にいつも行うツールバーのカスタマイズをすばやくやる方法です。プロファイルにある localstore.rdf を
この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2009/01/diary_090131a.html