<解決>FirefoxがuserChrome.css反映されない設定変更方法

animal_lesserpanda

Firefox ブラウザのウィンドウ画面右上にある アプリケーションメニュー は 「ハンバーガーメニュー」 とも呼ぶそうです。

3 つの横線がパンと具を挟むハンバーガーっぽいから

この Firefox のメニューの見た目を変更してみませんか?

たとえば、ほとんど選択して利用する機会のない不必要なメニュー項目をバッサリ削除 (非表示) することで、Firefox の 縦長のメニュー項目シンプルでコンパクトなメニュー項目 に変身です。

縦に長い Firefox アプリケーションメニュー
メニュー項目数が多いと縦方向に長い

Firefox アプリケーションメニューから使わない不必要なメニュー項目を非表示で削除できる
Firefox でほぼ使わない不要なメニュー項目を消した

マウスカーソルの移動量が減って生産性アップになるはずです。

そんな ”裏技” や ”隠し機能” を手元の Firefox ブラウザでサクッと実現できるのが、見た目の UI (ユーザー インターフェース) を好き勝手にカスタマイズできるスタイルシート 「userChrome.css」 ファイルです。

【ブラウザ UI 用スタイルシート ← この記事はコッチの方
userChrome.css

【ウェブサイトのコンテンツ表示用スタイルシート】
userContent.css

userChrome.css が反映されない? 効かない?

この 「userChrome.css」 や 「userContent.css」 に関連し、2019年9月にリリースされる バージョン 69 から仕様の変更が行われます。

  • userChrome.css
    userContent.css
    反映されない、効かない、使えない、機能しない、読み込まれない、読み込まない
    → 機能の削除? バグ不具合?

Firefox ブラウザは 「初期状態で css ファイルは読み込まない」 ようになり、あらかじめユーザーが設定を変更しておかないと 「userChrome.css」 「userContent.css」 が機能せず反映されない効かない状態になります。

xaクリップボード
仕様の変更を予告する Firefox Nightly の中の人

PSA: If you use userChrome.css/userContent.css files, Firefox will soon load them only if the toolkit.legacyUserProfileCustomizations.stylesheets pref is set to true. The goal is to remove for most users the startup cost of checking if these files exist.
https://twitter.com/FirefoxNightly/status/1131287595563065344


■ 目的は Firefox の起動を高速化するため

なぜこのような変更をする?

誤解するユーザーさんがいそうだけど、将来的に機能を廃止して 「userChrome.css」 を使用したデザイン変更を実現できないにする布石か?

いや、そうではなくって…

Users who use userChrome.css or userContent.css files to customize Firefox may need to flip the toolkit.legacyUserProfileCustomizations.stylesheets pref to true in order for Firefox to load these files. This is to avoid touching the disk unnecessarily during start-up for users that don't have those files.
https://www.mozilla.org/en-US/firefox/69.0a1/releasenotes/

従来は 「userChrome.css」 を使用しているか使用していないかに関わらず、Firefox ブラウザを起動するタイミングでストレージ上に 「userChrome.css」 がないか確認する処理があるそうです。

つまり、「userChrome.css」 を使用しない大多数の環境では、ファイル 2 つの存在を確認するだけの処理を Firefox ブラウザが起動するたびに毎回行っていることになります。 <無駄!

つまり、この変更はストレージに対する不必要なアクセスをなくすことで Firefox を起動する時の処理量を減らして高速化を図る施策の一環です。



userChrome.css を反映させないなら設定の変更で解決

今後も 「userChrome.css」 を使いたい Firefox ユーザーさんは、次のパラメータをあらかじめ設定しておくことで今までどおりに css ファイルは読み込まれます。

【Firefox 設定ファイル user.js での指定例】
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
【高度な設定 about:config での指定パラメータ】
toolkit.legacyUserProfileCustomizations.stylesheets

…ってことで、Firefox 69 以降で新規導入するユーザーさんや、新しくプロファイルを作成したユーザーさんは、「userChrome.css」 「userContent.css」 を使う場合に、設定を切り替える作業が必須になります。