Firefoxのコンテクストメニューの項目を非表示にする
カテゴリはCSSだがウエブページの見た目をデザインするためではなく、
Mozilla FirefoxのUIの見た目をカスタマイズするために使われているスタイルシートについてである。
Firefoxを使っているとコンテクストメニューの不要な項目が邪魔で仕方なくなってきた。
カスタマイズせずデフォルト状態で使うのがポリシーなのであまり弄りたくはないがどうにも我慢できず。
これにはuserChrome.cssというCSS形式のUTF-8ファイルに不要な項目を非表示にする記述をすればいい。
このファイルの場所はWindows XPなら、
%APPDATA%\Mozilla\Firefox\Profiles\????????.default\chrome\userChrome.css
にあった。????????は英数字列で人によって違う。
Linux(Ubuntu)では、
$HOME/.mozilla/firefox/????????.default/chrome/userChrome.css
にあった。
最近になってFirefoxをインストールした場合はchromeというディレクトリ自体がないっぽい。
手元の環境では古くから入れていたPCでは存在したが、最近入れたものには存在しなかった。
chromeディレクトリやuserChrome.cssファイルが見当たらない場合は新規に作成すればいい。
chromeディレクトリが作成されていた場合はuserChrome.cssのサンプルファイルがあると思うので、
これを同じディレクトリ内にuserChrome.cssの名前でコピーして、それを編集すればいい。
@charset "utf-8"; ...snip @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
新規に作成するにしてもコピーを編集するにしてもこの二行は必須である。
試みていないが@charsetの方は変更すれば他の文字エンコードでも受容されるのかもしれない。
@charset "utf-8"; @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); #context-sendpage { display: none !important; } #context-sendlink { display: none !important; } #context-sendimage, #context-setDesktopBackground { display: none !important; }
とりあえず4項目を非表示にした。
#context-sendpageはページ、#context-sendlinkはリンク、#context-sendimageは画像のURLをメールで送る項目である。
ウエブブラウザにメーラ機能は要らないのでこれは随分邪魔だった。
もう一つ、#context-setDesktopBackgroundは画像をデスクトップの背景にする項目である。
3番目のエントリのように項目をコンマ区切りで並べて、
{ display: none !important; }を指定するとコンテクストメニューから項目が消える。
上の場合4項目を一度に指定できるが、コンテクストごとに分けてある。