
Ubuntu日本語フォーラム

ログインしていません。
Ubunru8.04でFirefox3.0.14を使っています。
サイトを見ているときなど、右クリックのメニューが重宝するのですが、同時にまったく使わない項目も少なくなくて、今一つ使い勝手が良くないです。
例えば、文章の書かれている部分で「戻る」「進む」はいちいちツールバーをポイントする必要がなくて便利な一方、写真が掲載されている部分では「名前を付けて画像を保存」と「画像をメールで送信」が隣り合っていて、時々ミスタッチ(ミスクリック?)したりしてしまいます。
右クリックを使いやすくするために、右クリックのメニューを非表示にし、必要な時だけ表示させる、というようにすることはできるでしょうか。
※Ubuntuそのものの質問でなくてすみません。
オフライン
Firefoxのアドオンで右クリックのメニューで表示される内容を変更できるものがあります(例:https://addons.mozilla.org/en-US/firefox/addon/710)。
オフライン
【拡張を使わない方法】
ユーザスタイルシートをつかう。欠点は Firefox の再起動が必要であること。
【Stylishを使う方法】
拡張の Stylish によりユーザスタイルシートを使い易くします ( 私はもっぱらこれを愛用 )。
【ユーザスタイルシートの書き方のサンプル】
Firefox 本体 ( 下の例ではタブの新規作成ボタンとメニューバーの非表示 )
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
.tabs-newtab-button,#toolbar-menubar {
display:none;
}【Stylish用ユーザスタイルシート解説】
ユーザスタイルシートの先頭行に
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
と書くと、そのユーザスタイルシートは Firefox に適用されます。userChrome.css とおなじ役目を果たします。
また各サイトのコンテンツ向けに、Firefox には @-moz-document ルールというものがあります ( おそらく SeaMonkey でも有効 )。このルールを使うことでドメイン単位でユーザスタイルシートを設定することができます。
@-moz-document ルールには以下の三つがあります。
1.URL に対してユーザスタイルシートを適用する。
@-moz-document url("http://hoge.ne.jp/index.php") {
#content {
display:none!important;
}
}2.ドメインにユーザスタイルシートを適用する。
@-moz-document domain("hoge.net") {
.hogehote {
display:none!important;
}
}3.〜で始まるURLのページにユーザスタイルシートを適用する。
@-moz-document url-prefix("http://hoge.ne.jp/piyo/") {
#content {
display:none!important;
}
}Stylish を使うとユーザスタイルシートの on / off に Firefox の再起動が不要になるので、便利です。コンテキストメニューのメニューアイテムには id が振られているので、セレクタに #id を指定してやり、メニューアイテム毎にスタイルを設定してやれば、簡単にメニューアイテムの表示、非表示を切替えることができます。
※追記
【メニューアイテムの id の調べ方】
1.DOM Inspector をインストールしてください。リポジトリにあるかもしれませんが、AMO のものも普通に動作します。インストール先が違うだけで中身は同じもののはずです。
2.Firefoxで空白ページを開きます。
3.CTRL+Shift+Iを押すと DOM Inspector が起動します。
4.[File]-[Inspect Chrome Document(H)]-[Mozilla Firefox(1)]をクリックします。
5.双眼鏡アイコンをクリックしてください。
6.テキストボックスに "contentAreaContextMenu" と入力してください。
7.Search By id を選択して "Find" ボタンを押してください。コンテキスト・メニュー本体である popup 要素に飛びます。
8.xul:scrollbox の子要素がコンテキスト・メニューのメニューアイテムです。
皆様詳細な回答を頂き、有難うございました。
>avidyaさん
丁寧なご説明を頂き、有難うございました。
ただ、「ユーザスタイルシートの書き方のサンプル」を見て引いてしまいました。今の私にはハードルが高過ぎるようです。
しかしリンク先のユーザスタイルシートによるカスタマイズは便利そうなので、もっとスキルが上がってから挑戦してみます。
といわけで、DOM Inspectorも手が届きませんでした。折角詳細な方法を教えて頂いたのに、情けなくてすみません。
>anoirさん
インストールも設定も簡単にできました。有難うございました。
試しにメインコンテキストメニューで使わないものを片っ端からチェックを外していったら、驚くほどすっきりしたものができました。
感謝です! 有難うございました。
オフライン
難しそうな説明になってしまってすみませんでした。以下簡易版です。コンテキスト・メユーの "リンクの URL をメールで送信..." を隠すものとします。どなたかの参考になれば幸いです。
1.Sylish を Firefox にインストールする。
2.Firefox を再起動するとステータスバーに Stylish のアイコンが表示されるので、右クリックする。
3.[新しいスタイルを書く]-[白紙のスタイル]を選択する。
4.ダイアログボックスが開くので以下のコードを貼り付ける。スタイルの名前には適切な名前をつける。
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
#context-sendlink {
display:none;
}5.保存ボタンを押す。
以上でコンテキスト・メユーの "リンクの URL をメールで送信..." が非表示になります。
CSS で実現するのでシンプルで安全です。
# 拡張を使うのが危険というわけではありません。xul 要素の hidden プロパティを true にするだけなら安全です。
# ただし DOM API で xul 要素を削除してしまうような場合は Firefox が不安定になる可能性があります。
# このあたりは拡張側の実装方法に依ります。