Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ja:howto:customize-menu [2009/04/14 11:29] – created hashimoja:howto:customize-menu [2010/10/02 17:26] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Xfce メニューのカスタマイズ ====== ====== Xfce メニューのカスタマイズ ======
  
-このページでは、あなたのデスクトップで Xfdesltop **4.5以降** および libxfce4menu を使用したメニューをカスタマイズする方法について説明しています。+このページでは、Xfdesktop **4.6以降** および libxfce4menu を使用したメニューをカスタマイズする方法について説明しています。
  
 ===== Xfdesktop がインストールするもの ===== ===== Xfdesktop がインストールするもの =====
Line 7: Line 7:
  
 ===== メニューファイルの編集 ===== ===== メニューファイルの編集 =====
-インストールされたメニューを、あなたのホームフォルダにコピーします:+${XDG_CONFIG_HOME:-~/.config}/menus ディレクトリがなければ作成します: 
 + 
 +  mkdir ${XDG_CONFIG_HOME:-~/.config}/menus/ 
 + 
 +インストールされたメニューを、${XDG_CONFIG_HOME:-~/.config}/menus にコピーします:
  
   cp $prefix/etc/xdg/menus/xfce-applications.menu ${XDG_CONFIG_HOME:-~/.config}/menus   cp $prefix/etc/xdg/menus/xfce-applications.menu ${XDG_CONFIG_HOME:-~/.config}/menus
Line 76: Line 80:
 ===== エントリの編集 ===== ===== エントリの編集 =====
  
-Xfce バージョン 4.5 の初から、libxfce4menu はメニュー設定の "マージ" をサポートしていません。これは、ナイスなメニューエディタを作成できないことを意味します。メニューエントリの追加/除去、または編集を行うには、ファイルを手動でコピーしなければなりません。+Xfce バージョン 4.5 の初から、libxfce4menu はメニュー設定の "マージ" をサポートしていません。これは、ナイスなメニューエディタを作成できないことを意味します。メニューエントリの追加/除去、または編集を行うには、ファイルを手動でコピーしなければなりません。
  
 例えば "gvim" をインストールしたのであれば、そのデスクトップエントリファイル ''/usr/share/applications/gvim.desktop'' があるばずです。そのファイルを ''${XDG_DATA_HOME:-~/.local/share}/applications'' にコピーし、それを修正できます。 例えば "gvim" をインストールしたのであれば、そのデスクトップエントリファイル ''/usr/share/applications/gvim.desktop'' があるばずです。そのファイルを ''${XDG_DATA_HOME:-~/.local/share}/applications'' にコピーし、それを修正できます。
Line 82: Line 86:
 新しいメニューを作成する時は、新しいデスクトップエントリファイルを上記ディレクトリ内に作成します。''exo-desktop-item-edit'' コマンドを使うと、そのようなファイルを簡単に作成できます。例えば、''%%exo-desktop-item-edit --create-new ~/.local/share/applications/%%'' というふうに実行します。 新しいメニューを作成する時は、新しいデスクトップエントリファイルを上記ディレクトリ内に作成します。''exo-desktop-item-edit'' コマンドを使うと、そのようなファイルを簡単に作成できます。例えば、''%%exo-desktop-item-edit --create-new ~/.local/share/applications/%%'' というふうに実行します。
  
 +===== サブメニューのカスタマイズ =====
 +新しくサブメニューを作成するには、${XDG_CONFIG_HOME:-~/.config}/menus/xfce-applications.menu 内の、他の Xfce サブメニュー ("Graphics" や "Multimedia" など) と同じレベルに "Menu" 要素を追加します。任意の名前を定義した "Menu" 要素には、他に 2 つの要素を設定する必要があります。一つめは "Directory" 要素で、用意したサブメニューに関する、アイコンその他の情報を定義したデスクトップエントリファイルとの関連付けを行います。二つめは "Category" 要素で、このサブメニューに表示するメニューアイテムの .desktop ファイルと関連付けるためのカテゴリを指定します。カスタムカテゴリの名前は、慣例により、非標準カテゴリのプレフィックスとされている "X-" で始めることが推奨されています。例えば、ファイルマネージャで任意のフォルダを表示するメニューアイテムを登録するサブメニューを作成する場合は以下のようになります:
 +
 +<code xml>
 +  <Menu>
 +    <Name>Folders</Name>
 +    <Directory>folders.directory</Directory>
 +    <Include>
 +      <Category>X-Folders</Category>
 +    </Include>
 +  </Menu>
 +</code>
 +
 +次に、${XDG_DATA_HOME:-~/.local/share}/desktop-directories/folders.directory を以下のような内容で作成します:
 +
 +  [Desktop Entry]
 +  Version=1.0
 +  Type=Directory
 +  Icon=file-manager
 +  Name=Folders
 +  Comment=Folders viewed in a file manager
 +
 +ここではサブメニューの表示名およびアイコンなどを指定します。
 +
 +最後に、メニューアイテムを上で作成したサブメニューで表示するための .desktop ファイルを ${XDG_DATA_HOME:-~/.local/share}/applications フォルダに作成します。サブメニュー配下に表示させるためには、"Categories" に上記で指定したカスタムカテゴリ名を設定します。thunar-home.desktop と名づけ、ホームフォルダを開くメニューアイテムのファイルの例を以下に示します:
 +
 +  [Desktop Entry]
 +  Version=1.0
 +  Type=Application
 +  Exec=/usr/local/bin/thunar /usr/home/yourname
 +  Icon=file-manager
 +  StartupNotify=false
 +  Categories=X-Folders;
 +  OnlyShowIn=XFCE
 +  Name=home
 +  Comment=home displayed in Thunar
 +
 +必要なファイルをすべて配置し、必要であればメニューを更新 (後述) したら、"Folders" という名前のサブメニューがファイルマネージャのアイコンを使用して Xfce メニューに表示され、サブメニュー配下には、Thunar でホームフォルダを開くメニューが表示されているはずです。この他にも /cdrom や / など任意のフォルダへのショートカットのメニューを追加できます。
 ===== メニューの再読み込み ===== ===== メニューの再読み込み =====
  
-ファイルモニタリングサポートを使用していない場合は、''%%xfdesktop --reload%%'' と実行するとメニューを更新します。+ファイルモニタリングサポートを使用していない場合は、''%%xfdesktop --reload%%'' と実行するとメニューを更新します。Xfce メニューの更新は ''%%xfce4-panel -r%%'' を実行してください
  
 もし動作しない場合、代わりに ''%%killall -HUP xfdesktop%%'' を実行してみてください。 もし動作しない場合、代わりに ''%%killall -HUP xfdesktop%%'' を実行してみてください。