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つである。それぞれ、
- カテゴリに「System」を含む項目
- カテゴリに「Screensaver」を含まない項目
- カテゴリに「X-Red-Hat-ServerConfig」を含まない項目
- カテゴリに「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ファイルで指定するものだ。具体的には、
や
などである。例えば、/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 Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間