exp777.hatenablog.com

頭の中はゲームでいっぱい

Firefox外観いじり

Menu Editorの挙動不審*1が気になってきたので無効にして、userChrome.cssで代用することにした。
まず基本的な部分で不要なものを非表示に。

/* メニューから履歴を消す */
#history-menu
{
	display:none !important;
}

/* コンテキストメニューの不要な項目を消す */
/*	戻る 進む 更新 中止 「中止」の下のセパレーター
	リンクを送信 リンクURLをメールで送信 画像をメールで送信 */
#context-back, #context-forward, #context-reload, #context-stop, #context-sep-stop,
#context-sendlink, #context-sendpage, #context-sendimage
{
	display: none !important;
}

Google ToolbarFirebugが追加するコンテキストメニュー項目もいらないので、これも消す。idはDOM Inspectorで調べた。

/* Google Toolbarのコンテキストメニュー項目を消す */
/* 他の検索タイプ 次に送信 ページ情報 "〜"を翻訳 */
#gtbMoreSearchTypesMenuItem, #gtbSendToContextMenu, #gtbPageInfoContextMenu, #gtbAutoTranslateMenuItem
{
	display: none !important;
}

/* Firebugのコンテキストメニュー項目を消す */
/* 要素を調査 */
#menu_firebugInspect
{
	display: none !important;
}

これだけだとセパレーターだけ残ってしまうので、これもidで指定して消す…と思ったらidがついていない。勘弁してくれ。
ということで、「ある要素の次のセパレーター」という指定で消す。

/* Google Toolbarのコンテキストメニュー項目の上のセパレーターを消す */
menuitem[id="context-bidi-page-direction-toggle"] + menuseparator
{
	display: none !important;
}

/* Firebugのコンテキストメニュー項目の上のセパレーターを消す */
menu[id="gtbPageInfoContextMenu"] + menuseparator
{
	display: none !important;
}

Firebugで追加されたセパレーターを消すのにGoogle Toolbarのidを使っているあたりがなんとも気持ち悪いのだが、他にいいやり方がわからないので妥協。これを他の人がコピペしてもたぶんうまくいかない。「ある要素の前のセパレーター」という指定が理想なのだが… というかセパレーターにidがついていないのが悪い。
手段はどうであれ、これで好みの表示になった。
f:id:exp777:20090323211441p:image before
f:id:exp777:20090323211442p:image after
あーすっきりしたなー。ってこれ、いらないものを消しただけだな。
自分はこんな風に不要なものを排除していくのが好きなんだけど、新しいものを追加したわけじゃないので、人によっては価値が見出せない設定かもしれない。

*1:コンテキストメニューの「選択部分を検索」が表示されないことがある