【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷

 

Linux Tips

GNOMEのメニューに項目を表示するための仕組み

北浦訓行
2005/3/31

 GNOMEメニューを編集するための基礎知識GNOMEメニューにサブメニューや項目を追加するにはによって、GNOMEのメニューを変更する方法が分かった。

 ところで、/etc/xdg/menus/applications.menuを見ると、サブメニューの指定に以下のような設定が行われている。

  <!-- System Tools-->
  <Menu>
    <Name>System</Name>
    <Directory>System.directory</Directory>
    <Include>
      <And>
        <Category>System</Category>
        <Not><Category>Screensaver</Category></Not>
        <Not><Category>X-Red-Hat-ServerConfig</Category></Not>
        <Not><Category>SystemSetup</Category></Not>
      </And>
    </Include>

 上記の例の場合、<And>〜</And>内の条件がすべて合致するものをサブメニューに表示する。この中に含まれる条件は、

           <Category>System</Category> ←1
        <Not><Category>Screensaver</Category></Not> ←2
        <Not><Category>X-Red-Hat-ServerConfig</Category></Not> ←3
        <Not><Category>SystemSetup</Category></Not> ←4

の4つである。それぞれ、

  1. カテゴリに「System」を含む項目
  2. カテゴリに「Screensaver」を含まない項目
  3. カテゴリに「X-Red-Hat-ServerConfig」を含まない項目
  4. カテゴリに「SystemSetup」を含まない項目

になる。この4条件を満たす項目が、/usr/share/desktop-directories/System.directoryに定義されているサブメニュー([システムツール]メニュー)に表示される。

 また、<Or>〜</Or>で囲むと、その中のいずれか1つ以上を含む場合に項目が表示されるようになる。例えば、下記の例ではカテゴリに「System」または「Screensaver」のいずれかを含む項目が表示される。

      <Or>
        <Category>System</Category>
        <Category>Screensaver</Category>
    </Or>

 項目の表示/非表示を指定する仕組みは、上記以外にもある。それは、それぞれの項目を定義している/usr/share/applications/*.desktopファイルで指定するものだ。具体的には、

OnlyShowIn=

NoDisplay=

などである。例えば、/usr/share/applications/gnome-nautilus.desktopは、「OnlyShowIn=GNOME;」という記述があるため、ウィンドウマネージャがGNOMEの場合にのみ表示される。逆に、「OnlyShowIn=KDE;」となっていて、KDE実行時のみ表示される項目もある。

[Desktop Entry]
Encoding=UTF-8
Name=File Browser
(省略)
OnlyShowIn=GNOME; ←GNOMEのときに表示
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=nautilus
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-OtherBinaries=nautilus-adapter;nautilus-content-loser;nautilus-sidebar-loser;nautilus-text-view;nautilus-throbber;
X-Desktop-File-Install-Version=0.9

 また、/usr/share/applications/system-install-packages.desktopなどのように、「NoDisplay=true」という設定によって非表示になっている項目もある。

[Desktop Entry]
Name=Install Packages
GenericName=Install Packages
Comment=Install new packages on the system
MimeType=application/x-rpm;
Exec=/usr/bin/system-install-packages %F
Terminal=false
Type=Application
Icon=system-config-packages.png
Encoding=UTF-8
NoDisplay=true ←項目を表示しない

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

ホワイトペーパーTechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)



- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?