Go to main content
Oracle® Solaris 11.3 デスクトップ管理者ガイド

印刷ビューの終了

更新: 2015 年 10 月
 
 

メニュー定義ファイルの操作

メニューファイルは、Oracle Solaris デスクトップのメニューバーで使用されるメニューの階層を定義します。これらのファイルを変更することで、変更する applications.menu ファイルの場所に応じてすべてのユーザーまたは単一ユーザーのメニューをカスタマイズできます。

メニューファイルは $XDG_CONFIG_DIRS/menus/applications.menu ディレクトリに置く必要があります。メニューファイルを操作するには、XDG ベースディレクトリ仕様で定義されている $XDG_CONFIG_DIRS 環境変数を設定する必要があります。

    applications.menu ファイルの場所を解決するため、デフォルトのパスが次の順序で検索されます。

  1. $XDG_CONFIG_HOME パス内の各ディレクトリで menus/applications.menu ファイルを検索します。$XDG_CONFIG_HOME 環境変数が設定されていない場合のデフォルトは ~/.config/ ディレクトリです。

  2. $XDG_CONFIG_DIRS パス内の各ディレクトリで menus/applications.menu ファイルを検索します。$XDG_CONFIG_DIRS 環境変数が設定されていない場合の検索のデフォルトは /etc/xdg/ ディレクトリです。

  3. 見つかった最初の applications.menu ファイルを使用します。

次の例では、サンプルの .menu ファイルを示します。

使用例 1  .menu ファイルの例
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
 "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
  <Name>Applications</Name>
  <Directory>Applications.directory</Directory>

  <!-- Read standard .directory and .desktop file locations -->
  <DefaultAppDirs/>
  <DefaultDirectoryDirs/>

  <!-- Accessories submenu -->
  <Menu>
    <Name>Accessories</Name>
    <Directory>Accessories.directory</Directory>
    <Include>
      <And>
        <Category>Utility</Category>
        <Not>
        

<Category>System</Category>
        </Not>
      </And>
    </Include>
  </Menu> <!-- End Accessories -->

  <!-- possibly more submenus -->

</Menu> <!-- End Applications -->

この例では、最上位のメニューは Applications という名前で、<Name> 要素を使用して指定されます。Applications メニューには、1 つのサブメニューが含まれていますが、複数のサブメニューを使用できます。各サブメニューには、マッチングルールを使用して一連の使用可能なデスクトップエントリにフィルタを実行するための <Include> 要素もあります。

たとえば、<Category> 要素は、Categories キーに <Category>要素の内容が含まれている場合に限りデスクトップエントリファイルを選択する基本的なマッチングルールです。例では、Categories キーでメニューに「Utility」という語が含まれていて「System」という語が含まれていない場合に限り、Accessories メニューがデスクトップエントリを含みます。Categories キーの詳細は、Working With Desktop Entry Filesを参照してください。

次の表では、.menu ファイルの要素の一部について説明します。

表 2  メニュー定義ファイルの要素
要素
説明
Menu
入れ子の <Menu> 要素が含まれている可能性のあるルート要素。入れ子の要素は、サブメニューを定義します。これらの要素を入れ子にする方法によって、メニュー構造が決まります。
Name
メニューの名前を指定します。各 <Menu> 要素は、<Name> 要素を含む必要があります。
Directory
メニューの名前、コメント、アイコンを指定するディレクトリエントリファイルの名前を指定します。この要素が指定されていない場合、メニュー名を表示するために <Name> 要素が使用される必要があります。
デフォルトでは、XDG メニュー仕様での定義どおり $XDG_DATA_DIRS/desktop-directories/ ディレクトリで .directory ファイルが検索されます。
DefaultAppDirs
$XDG_DATA_DIRS/applications/ ディレクトリからの使用可能なすべてのデスクトップエントリをスキャンするべきであることを示す命令。この命令が含まれていない場合、これらの場所でデスクトップエントリはスキャンされません。
DefaultDirectoryDirs
$XDG_DATA_DIRS/desktop-directories/ ディレクトリからの使用可能なすべてのディレクトリエントリをスキャンするべきであることを示す命令。この命令が含まれていない場合、これらの場所でディレクトリエントリはスキャンされません。
Include
メニューの内容の生成に使用されるマッチングルールのリストが含まれます。<Filename> <Category><And><Or><Not>、または <All> マッチングルールが含まれる可能性があります。
Exclude
<Include> 要素の反対。デスクトップエントリがこの要素に一致する場合、そのエントリは前の含まれる要素のセットから除外されます。このような理由から、この要素は <Include> 要素のあとに出現する必要があります。
Filename
Desktop File-Id<Filename> 要素の内容と一致するときにデスクトップエントリを選択するマッチングルール。
Category
Categories キーが <Category> 要素の内容と一致するときにデスクトップエントリを選択するマッチングルール。
And
エントリが <And> 要素内のすべての入れ子のマッチングルールで選択されたときにデスクトップエントリを選択するマッチングルール。
Or
エントリが <Or> 要素内の任意の入れ子のマッチングルールで選択されたときにデスクトップエントリを選択するマッチングルール。
Not
エントリが <Not> 要素内の任意の入れ子のマッチングルールで選択されたときにデスクトップエントリを選択しないマッチングルール。
All
すべてのデスクトップエントリを選択するマッチングルール。

.menu ファイルの要素の詳細は、XDG メニュー仕様を参照してください。