この章では、GNOME がどのようにメニューを実装するか、また管理者はどのようにメニューをカスタマイズできるか説明します。
GNOME がデスクトップ上のメニューをどのように実装するかにより、次のことが可能になります。
簡単にメニュー階層をカスタマイズできる。メニュー階層は、ファイルシステムの階層構造に基づいていません。メニュー階層は、少数のファイルを編集するだけでカスタマイズできます。アプリケーションを変更したり、ファイルを移動する必要はありません。
簡単にアプリケーションをインストールできる。アプリケーションをインストールするときに、メニュー階層に関する情報をアプリケーションに提供する必要はありません。
ユーザーがメニューを変更できないように設定する。
GNOME デスクトップ上のメニューは、次のコンポーネントを使用します。
ファイル抽象レイヤー
Vfolder
デスクトップエントリファイル
ディレクトリエントリファイル
gnome-vfs ファイル抽象レイヤーは、アプリケーションがファイルと相互に作用するための単純で一般的な方法を提供します。また、ファイル抽象レイヤーは、特定のメニュー設定ファイルに対応付ける URI (Uniform Resource Identifier) ロケーションを提供します。すべてのユーザー用にメニューまたはメニュー項目を追加するには、そのメニューまたはメニュー項目を URI ロケーションの 1 つに追加する必要があります。項目を追加できるメニューと、そのメニューに対応する URI ロケーションは表 2–1 に示しています。
表 2–1 メニューと URI ロケーション
メニュー |
URI ロケーション |
---|---|
すべてのユーザーの「アプリケーション」メニュー |
applications-all-users:/// |
すべてのユーザーの「デスクトップ設定」メニュー |
preferences-all-users:/// |
一般的に、「vfolder」は、システム上の物理的な場所 (1 箇所または複数) に存在する項目の仮想表現になります。たとえば、vfolder が、いくつかのディレクトリの内容を表す場合があります。また vfolder は、1 つまたは複数の物理的な場所の抽象概念になります。GNOME デスクトップのメニューの場合、vfolder は、物理的に複数のディレクトリに置かれている項目のメニュー上の表現になります。
「vfolder 情報ファイル」は、vfolder を説明する XML ファイルです。 vfolder 情報ファイルは、メニューの構造を指定します。vfolder 情報ファイルは、メニューの名前と、メニューに表示されるアプリケーションの順序を指定します。vfolder 情報ファイルには、.vfolder-info ファイル拡張子が付きます。
以下に vfolder 情報ファイルの抜粋を示します。
<?xml version="1.0"?> <VFolderInfo> . . . <Folder> <Name>Applications</Name> <Desktop>Applications.directory</Desktop> <Folder> <Name>Accessories</Name> <DontShowIfEmpty/> <Desktop>Accessories.directory</Desktop> <Query> <And> <Keyword>Application</Keyword> <Keyword>Utility</Keyword> </And> </Query> </Folder> . . . </Folder> </VFolderInfo>
表 2–2 は、vfolder 情報ファイル内の要素を示しています。
表 2–2 vfolder 情報ファイルの要素
要素 |
説明 |
---|---|
<Folder> |
メニューの名前、内容、構造を定義する要素が含まれる |
<Name> |
メニューの名前 |
<Desktop> |
メニューの名前、コメント、アイコンを指定するディレクトリエントリファイルの名前 |
<Query> |
デスクトップエントリファイルに対するクエリー。クエリー要件と一致するデスクトップエントリファイルと、メ ニュー項目がメニュー上に表示される 上記抜粋内のクエリーでは、Categories キー内にキーワード Application と Utility を含むデスクトップエントリファイルが検索される。一致するデスクトップエントリファイルが「アプリケーション」メニューに表示される この要素は任意 |
<DontShowIfEmpty/> |
この要素がある場合は、項目を何も含まないメニューは表示されない この要素は任意 |
「デスクトップエントリファイル」は、メニュー内の項目に関する情報を提供するデータファイルです。デスクトップエントリファイルは、名前、実行するコマンド、アイコンなどの項目の詳細を指定します。また、デスクトップエントリファイルには、メニュー階層内での項目の位置を決定するキーワードが含まれています。デスクトップエントリファイルには、.desktop ファイル拡張子が付きます。
以下は、デスクトップエントリファイルのサンプルです。
[Desktop Entry] Encoding=UTF-8 Name=Calculator Comment=Perform simple calculations Exec=gnome-calculator Icon=gnome-calc3.png Terminal=false Type=Application X-GNOME-DocPath=gnome-calculator/gnome-calculator.xml Categories=GNOME;Application;Utility;
表 2–3 は、デスクトップエントリファイルで最も重要なキーを説明しています。
表 2–3 デスクトップエントリキー
デスクトップエントリキー |
説明 |
---|---|
Encoding |
デスクトップエントリファイルのエンコーディングを指定する |
Name |
項目の名前を指定する。この名前は、メニュー上の項目として表示される |
Comment |
項目の短い説明を指定する。コメントは、メニュー上のメニュー項目を指したときにツールチップとして表示される |
Exec |
メニューから項目を選択したときに実行されるコマンドを指定する |
Icon |
項目を表すアイコンのファイル名を指定する。ファイル名へのパス、あるいはファイル拡張子は指定しない |
Terminal |
Exec キーで指定したコマンドを端末で実行するかどうかを指定する。値が true の場合は、コマンドが端末で実行される コマンドを実行するウィンドウを作成しない場合は、このキーの値を true にする必要がある |
Type |
項目のタイプを指定する。次のいずれかを指定する
|
X-GNOME-DocPath |
メニュー項目のポップアップメニューから「%s のヘルプ」を選んだときに表示されるヘルプファイルを指定する |
Categories |
項目を説明するキーワードを指定する。キーワードはセミコロン (;) で区切る。 標準のカテゴリキーワードのリストについては、以下の URL を参照 http://www.freedesktop.org/standards/VFolderDesktops.txt vfolder 情報ファイルは、メニューに入力するキーワードを対応付ける |
デスクトップエントリファイルのキーに関する詳細については、以下の URL を参照してください。
http://www.freedesktop.org/standards/desktop-entry-spec/desktop-entry-spec.html
パネルランチャーやデスクトップ背景オブジェクトも、デスクトップエントリファイルを使用します。ランチャーやデスクトップ背景オブジェクト用のデスクトップエントリファイルは、メニュー項目用のデスクトップエントリファイルと同じ情報を提供します。たとえば、デスクトップエントリファイルは、ユーザーがランチャーまたはオブジェクトを選択したときに実行されるコマンドを提供します。
「ディレクトリエントリファイル」は、メニューに関する情報を提供するデータファイルです。「ディレクトリエントリファイル」は、名前、ツールチップ、アイコンなどのメニューの詳細を指定します。ディレクトリエントリファイルには、.directory ファイル拡張子が付きます。
以下は、ディレクトリエントリファイルのサンプルです。
[Desktop Entry] Name=Accessories Comment=Accessories menu Icon=gnome-util.png Type=Directory
表 2–4 は、ディレクトリエントリファイルの最も重要なキーを説明しています。
表 2–4 ディレクトリエントリキー
ディレクトリエントリキー |
説明 |
---|---|
Name |
メニューの名前を指定する。この名前は、メニューに表示される |
Comment |
メニューの短い説明を指定する。コメントは、メニューを指したときにツールチップとして表示される |
Icon |
メニューを表すアイコンのファイル名を指定する。ファイル名へのパス、あるいはファイル拡張子は指定しない |
Type |
メニューのタイプを指定する。このキーの値は常に Directory |
以下のデスクトップコンポーネントを使用してメニューを編集できます。
Nautilus
ファイルマネージャ
パネル上のメニュー
ファイルマネージャを使用してすべてのユーザーにメニューまたはメニュー項目を追加する場合は、メニューまたはメニュー項目を URI ロケーションに追加します。項目を追加できるメニューと、そのメニューに対応する URI ロケーションは表 2–1 に示しています。
パネルを使用して、すべてのユーザーのメニューをカスタマイズする場合は、メニュー項目ポップアップメニューを使用します。詳細については、『GNOME 2.0 ユーザーズガイド (Solaris 版)』の「メニューの操作方法」を参照してください。
メニューのカスタマイズに、メニュー設定ファイルおよびメニューデータファイルを使用することもできます。
次の方法を使用して、メニューをすべてのユーザーに追加できます。
ファイルマネージャを使用する
メニュー設定ファイルおよびメニューデータファイルを変更する
すべてのユーザーにメニューを追加するには、次の手順を実行します。
ファイルマネージャウィンドウで、メニューを追加する場所にアクセスします。 たとえば、「アプリケーション」メニューにメニューを追加する場合は、「場所」フィールドに applications-all-users:/// と入力して、リターンキーを押します。
「ファイル」-> 「新規フォルダ」を選択します。未タイトルのフォルダが表示区画に追加されます。フォルダの名前が選択された状態になります。
フォルダの名前を入力して、リターンキーを押します。 手順1 でアクセスした場所用の vfolder 情報ファイルは、新しいメニューの詳細を反映して自動的に更新されます。フォルダの名前は、メニューの名前として表示されます。
フォルダの名前を入力する前に、ファイルマネージャウィンドウのディスプレイを再読み込みしてください。
次回ユーザーがログインすると、メニューに表示されます。
すべてのユーザーにメニューを追加するには、次の手順を実行します。
追加する項目用にディレクトリエントリファイルを作成します。ディレクトリエントリファイルは、 /usr/gnome/share/gnome/vfolders ディレクトリに作成します。ディレクトリエントリファイルの詳細については、ディレクトリエントリファイルを参照してください。
メニューを追加する場所用の vfolder 情報ファイルの場所を確認します。「アプリケーション」メニューにメニューを追加する場合は、ファイル /usr/gnome/etc/gnome-vfs-2.0/vfolders/applications-all-users.vfolder-info の場所を確認します。
vfolder 情報ファイルに、新しいメニュー用の <Folder> 要素を追加します。vfolder 情報ファイルの詳細については、vfolderを参照してください。
次回ユーザーがログインすると、メニューに表示されます。
すべてのユーザーのメニューに項目を追加するには、次の手順を実行します。
追加する項目用にデスクトップエントリファイルを作成します。デスクトップエントリファイルの詳細については、デスクトップエントリファイルを参照してください。
ファイルマネージャウィンドウを開きます。「ファイル」-> 「新規ウィンドウ」を選択して、別のファイルマネージャウィンドウを開きます。
1 つのウィンドウで、メニュー項目を追加する場所にアクセスします。たとえば、「設定」メニューにメニュー項目を追加する場合は、「場所」フィールドに preferences-all-users:/// と入力し、リターンキーを押します。
別のウィンドウで、そのメニュー項目用に作成したデスクトップエントリファイルを選択します。メニュー項目を追加する場所にデスクトップエントリファイルをドラッグします。
あるいは、デスクトップエントリファイルをコピーして、メニュー項目を追加する場所にそのファイルを貼り付けます。
次回ユーザーがログインすると、メニュー項目に表示されます。
すべてのユーザーのメニューの設定を編集するには、次の手順を実行します。
パネルから編集するメニューを開きます。メニュー上の任意の項目を右クリックします。
「メニュー全体」-> 「設定」を選択します。「ランチャーの設定」ダイアログが表示されます。
「ランチャーの設定」ダイアログでメニューの設定を変更します。「ランチャーの設定」ダイアログの要素についての詳細は、『GNOME 2.0 ユーザーズガイド (Solaris 版)』の「パネルの操作方法」を参照してください。
「了解」をクリックします。
メニュー項目を編集するには、次の手順を実行します。
パネルから、編集する項目を含むメニューを開きます。編集する項目を右クリックします。
「設定」を選択します。「ランチャーの設定」ダイアログが表示されます。
「ランチャーの設定」ダイアログでメニュー項目の設定を変更します。「ランチャーの設定」ダイアログの要素についての詳細は、『GNOME 2.0 ユーザーズガイド (Solaris 版)』の「パネルの操作方法」を参照してください。
「了解」をクリックします。
メニューから項目を削除するには、パネルから削除する項目を含むメニューを開きます。削除する項目を右クリックします。「ランチャーをメニューから削除」を選択します。
次回ユーザーがログインすると、そのメニュー項目はメニューに表示されません。
以下の条件が当てはまる場合、ユーザーはメニューを変更できません。
メニューに対応する vfolder 情報ファイルが /etc/gnome-vfs-2.0/vfolder ディレクトリに存在する
vfolder 情報ファイルの名前が、メニューに対応する URI ロケーションの名前と同じである
vfolder 情報ファイルのユーザーアクセス許可が読み取り専用に設定されている
ユーザーが変更できないようにメニューを設定するには、次の手順を実行します。
/etc/gnome-vfs-2.0/vfolder ディレクトリに、設定するメニュー用の vfolder 情報ファイルを作成します。
vfolder 情報ファイルの名前に、設定するメニューに対応する URI ロケーションの名前を指定します。たとえば、「アプリケーション」メニューを設定する場合、/etc/gnome-vfs-2.0/vfolder ディレクトリに applications.vfolder-info という名前で vfolder 情報ファイルを作成します。
vfolder 情報ファイルのアクセス許可を読み取り専用に設定します。