<解決>FirefoxがuserChrome.css反映されない設定変更方法
Firefox ブラウザのウィンドウ画面右上にある アプリケーションメニュー は 「ハンバーガーメニュー」 とも呼ぶそうです。
3 つの横線がパンと具を挟むハンバーガーっぽいから
この 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」 が機能せず反映されない効かない状態になります。
仕様の変更を予告する 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」 を使う場合に、設定を切り替える作業が必須になります。