Java Desktop System Release 3 システム管理

第 2 章 メニューのカスタマイズ

この章では、Java Desktop System でどのようにメニューが実装されるか、また、管理者はどのようにメニューをカスタマイズできるかを説明します。

メニューの概要

Java Desktop System のメニューの実装方法により、次のことが可能です。

Java Desktop System 上のメニューでは、次のコンポーネントを使用します。

ファイル抽象レイヤー

gnome-vfs ファイル抽象レイヤーは、アプリケーションがファイルと相互に作用するための単純かつ一般化された方法を提供します。また、ファイル抽象レイヤーは、特定のメニュー構成ファイルに対応付ける URI (Uniform Resource Identifier) ロケーションを提供します。

すべてのユーザー用にメニューまたはメニュー項目を追加するには、そのメニューまたはメニュー項目を URI ロケーションの 1 つに追加する必要があります。項目を追加できるメニューと、そのメニューに対応する URI ロケーションは表 2–1 に示しています。

表 2–1 システム管理者用のメニューと URI ロケーション

メニュー 

URI ロケーション 

すべてのユーザーの「アプリケーション」メニュー

applications-all-users:///

すべてのユーザーの「設定」メニュー

preferences-all-users:///

メニューまたはメニュー項目をユーザー自身のシステムにだけ追加する場合は、それらのメニューまたはメニュー項目をほかの URI ロケーションに追加する必要があります。ユーザーが項目を追加できるメニューと、そのメニューに対応する URI ロケーションは 表 2–2 に示しています。

表 2–2 ユーザー用のメニューと URI ロケーション

メニュー 

URI ロケーション 

「アプリケーション」メニュー

applications:///

「設定」メニュー

preferences:///

ユーザーによるメニューのカスタマイズ方法については、『Java Desktop System Release 3 ユーザーズガイド』を参照してください。

vfolder とメニュー

一般的に、「vfolder」は、システム上の物理的な場所 (1 箇所または複数) に存在する項目の仮想表現になります。たとえば、vfolder が、いくつかのディレクトリの内容を表す場合があります。また vfolder は、1 つまたは複数の物理的な場所の抽象概念になります。Java Desktop System のメニューの場合、vfolder は、物理的に複数のディレクトリに置かれている項目のメニュー上の表現になります。

vfolder 情報ファイルは、vfolder を説明する XML ファイルです。vfolder 情報ファイルは、メニューの構造を指定します。また、メニューの名前と、メニューに表示されるアプリケーションの順序も指定します。vfolder 情報ファイルには、.vfolder-info ファイル拡張子が付きます。

次に vfolder 情報ファイルのサンプルを示します。

<VFolderInfo>
.
.
.
  <Folder>
    <Name>Applications</Name>
    <Desktop>Applications.directory</Desktop>
    <Folder>
      <Name>Accessories</Name>
      <Desktop>Accessories.directory</Desktop>
      <Query>
        <And>
          <Keyword>Application</Keyword>
          <Keyword>Utility</Keyword>
        </And>
      </Query>
      <DontShowIfEmpty/>
    </Folder>
.
.
.
  </Folder>
</VFolderInfo>

表 2–3 は、vfolder 情報ファイル内の要素を示しています。

表 2–3 vfolder 情報ファイルの要素

要素 

説明 

<Folder>

メニューの名前、内容、構造を定義する要素が含まれる 

<Name>

メニューの名前を指定する。 

<Desktop>

メニューの名前、コメント、アイコンを指定するディレクトリエントリファイルの名前 

<Query>

デスクトップエントリファイルに対するクエリー。クエリー要件と一致するデスクトップエントリファイルと、メニュー項目がメニュー上に表示される 

上記抜粋内のクエリーでは、Categories キー内にキーワード ApplicationUtility を含むデスクトップエントリファイルが検索される。一致するデスクトップエントリファイルが「アプリケーション」メニューに表示される

この要素は任意 

<DontShowIfEmpty/>

この要素がある場合は、項目を何も含まないメニューは表示されない 

この要素は任意 

デスクトップエントリファイル

「デスクトップエントリファイル」は、メニュー内の項目に関する情報を提供するデータファイルです。デスクトップエントリファイルは、名前、実行するコマンド、アイコンなどの項目の詳細を指定します。また、デスクトップエントリファイルには、メニュー階層内での項目の位置を決定するキーワードが含まれています。デスクトップエントリファイルには、.desktop ファイル拡張子が付きます。

以下は、デスクトップエントリファイルのサンプルです。

[Desktop Entry]
Encoding=UTF-8
Name=Calculator
Comment=Perform calculations
Exec=gcalctool
Icon=gcalctool.png
Terminal=false
Type=Application
Categories=GNOME;Application;Utility;

表 2–4 は、デスクトップエントリファイルで最も重要なキーを説明しています。

表 2–4 デスクトップエントリキー

デスクトップエントリキー 

説明 

Encoding

デスクトップエントリファイルのエンコーディングを指定する 

Name

項目の名前を指定する。この名前は、メニュー上の項目として表示される 

Comment

項目の短い説明を指定する。コメントは、メニュー上のメニュー項目を指したときにツールチップとして表示される 

Exec

メニューから項目を選択したときに実行されるコマンドを指定する 

Icon

項目を表すアイコンのファイル名を指定する。ファイル名へのパス、あるいはファイル拡張子は指定しない 

Terminal

Exec キーで指定したコマンドを端末で実行するかどうかを指定する。値が true の場合は、コマンドが端末で実行される

コマンドを実行するウィンドウを作成しない場合は、このキーの値を true にする必要がある

Type

項目のタイプを指定する。次のいずれかを指定する 

  • Application: アプリケーションを起動する項目の場合はこのオプションを入力

  • Link: ファイル、フォルダ、または URI にリンクする項目の場合はこのオプションを入力

Categories

項目を説明するキーワードを指定する。キーワードはセミコロン (;) で区切る。標準のカテゴリキーワードのリストについては、以下の URL のデスクトップメニュー仕様を参照 

http://www.freedesktop.org

vfolder 情報ファイルは、メニューに入力するキーワードを対応付ける 

デスクトップエントリファイルのキーについては、次の URL のデスクトップエントリ仕様を参照してください。

http://www.freedesktop.org

注 –

パネルランチャーやデスクトップオブジェクトも、デスクトップエントリファイルを使用します。ランチャーやデスクトップオブジェクト用のデスクトップエントリファイルは、メニュー項目用のデスクトップエントリファイルと同じ情報を提供します。たとえば、デスクトップエントリファイルは、ユーザーがランチャーまたはオブジェクトを選択したときに実行されるコマンドを提供します。


ディレクトリエントリファイル

ディレクトリエントリファイル」は、メニューに関する情報を提供するデータファイルです。「ディレクトリエントリファイル」は、名前、ツールチップ、アイコンなどのメニューの詳細を指定します。ディレクトリエントリファイルには、.directory ファイル拡張子が付きます。

以下は、ディレクトリエントリファイルのサンプルです。

[Desktop Entry]
Name=Accessories
Comment=Accessories menu
Icon=gnome-util.png
Type=Directory

表 2–5 は、ディレクトリエントリファイルの最も重要なキーを説明しています。

表 2–5 ディレクトリエントリキー

ディレクトリエントリキー 

説明 

Name

メニューの名前を指定する。この名前は、メニューに表示される 

Comment

メニューの短い説明を指定する。コメントは、メニューを指したときにツールチップとして表示される 

Icon

メニューを表すアイコンのファイル名を指定する。ファイル名へのパス、あるいはファイル拡張子は指定しない 

Type

メニューのタイプを指定する。このキーの値は常に Directory

メニューの編集

以下の Java Desktop System コンポーネントを使用してメニューを編集できます。

ファイルマネージャを使用してすべてのユーザーにメニューまたはメニュー項目を追加する場合は、メニューまたはメニュー項目を URI ロケーションに追加します。項目を追加できるメニューと、そのメニューに対応する URI ロケーションは表 2–1 に示しています。

パネルを使用して、すべてのユーザーのメニューをカスタマイズする場合は、メニュー項目ポップアップメニューを使用します。詳細は、『Java Desktop System Release 3 ユーザーズガイド』を参照してください。

メニューのカスタマイズに、メニュー構成ファイルおよびメニューデータファイルを使用することもできます。

メニューの追加

次の方法を使用して、メニューをすべてのユーザーに追加できます。

ファイルマネージャによるメニューの追加

すべてのユーザーにメニューを追加するには、次の手順を実行します。

  1. ファイルマネージャウィンドウで、メニューを追加する場所にアクセスします。たとえば、「アプリケーション」メニューにメニューを追加する場合は、「場所」フィールドに applications-all-users:/// と入力して、リターンキーを押します。

  2. 「ファイル」-> 「新規フォルダ」を選択します。未タイトルのフォルダが表示区画に追加されます。フォルダの名前が選択されています。


    注 –

    Solaris プラットフォームでは、フォルダの名前を入力する前に、ファイルマネージャウィンドウの表示を更新する必要があります。


  3. フォルダの名前を入力して、Return キーを押します。手順 1 でアクセスした場所用の vfolder 情報ファイルは、新しいメニューの詳細を反映して自動的に更新されます。フォルダの名前は、メニューの名前として表示されます。

次回ユーザーがログインすると、指定した場所にメニューが表示されます。

メニューファイルによるメニューの追加

すべてのユーザーにメニューを追加するには、次の手順を実行します。

  1. 追加する項目用にディレクトリエントリファイルを作成します。ディレクトリエントリファイルは、 /usr/share/gnome/vfolders ディレクトリに作成します。ディレクトリエントリファイルについては、「ディレクトリエントリファイル」を参照してください。

  2. メニューを追加する場所用の vfolder 情報ファイルの場所を確認します。「アプリケーション」メニューにメニューを追加する場合は、ファイル /etc/gnome-vfs-2.0/vfolders/applications-all-users.vfolder-info の場所を確認します。

  3. vfolder 情報ファイルに、新しいメニュー用の <Folder> 要素を追加します。vfolder 情報ファイルについては、「vfolder とメニュー」を参照してください。

次回ユーザーがログインすると、指定した場所にメニューが表示されます。

メニューへの項目の追加

すべてのユーザーのメニューに項目を追加するには、次の手順を実行します。

  1. 追加する項目用にデスクトップエントリファイルを作成します。デスクトップエントリファイルについては、「デスクトップエントリファイル」を参照してください。

  2. ファイルマネージャウィンドウを開きます。「ファイル」-> 「新規ウィンドウ」を選択して、別のファイルマネージャウィンドウを開きます。

  3. 1 つのウィンドウで、メニュー項目を追加する場所にアクセスします。たとえば、「設定」メニューにメニュー項目を追加する場合は、「場所」フィールドに preferences-all-users:/// と入力し、リターンキーを押します。

  4. 別のウィンドウで、そのメニュー項目用に作成したデスクトップエントリファイルを選択します。メニュー項目を追加する場所にデスクトップエントリファイルをドラッグします。

    あるいは、デスクトップエントリファイルをコピーして、メニュー項目を追加する場所にそのファイルを貼り付けます。

次回ユーザーがログインすると、指定した場所にメニュー項目が表示されます。

メニューの設定を編集する

すべてのユーザーのメニューの設定を編集するには、次の手順を実行します。

  1. パネルから編集するメニューを開きます。メニュー上の任意の項目を右クリックします。

  2. 「メニュー全体」->「設定」を選択します。「ランチャーの設定」ダイアログが表示されます。

  3. 「ランチャーの設定」ダイアログでメニューの設定を変更します。「ランチャーの設定」ダイアログの要素については、『Java Desktop System Release 3 ユーザーズガイド』を参照してください。

  4. 「了解」をクリックします。

メニュー項目を編集する

メニュー項目を編集するには、次の手順を実行します。

  1. パネルから、編集する項目を含むメニューを開きます。編集する項目を右クリックします。

  2. 「設定」を選択します。「ランチャーの設定」ダイアログが表示されます。

  3. 「ランチャーの設定」ダイアログでメニュー項目の設定を変更します。「ランチャーの設定」ダイアログの要素については、『Java Desktop System Release 3 ユーザーズガイド』を参照してください。

  4. 「了解」をクリックします。

メニューから項目を削除する

次の手順を実行します。

  1. パネルから、削除する項目を含むメニューを開きます。

  2. 削除する項目を右クリックし、「ランチャーをメニューから削除」を選択します。

次回ユーザーがログインすると、そのメニュー項目はメニューに表示されません。

ユーザーが変更できないメニューの設定

以下の条件が当てはまる場合、ユーザーはメニューを変更できません。

ユーザーが変更できないようにメニューを設定するには、次の手順を実行します。

  1. /etc/gnome-vfs-2.0/vfolders ディレクトリに、設定するメニュー用の vfolder 情報ファイルを作成します。

  2. vfolder 情報ファイルの名前に、設定するメニューに対応する URI ロケーションの名前を指定します。たとえば、「アプリケーション」メニューを設定する場合、/etc/gnome-vfs-2.0/vfolders ディレクトリに applications.vfolder-info という名前で vfolder 情報ファイルを作成します。