「Xdg-menu」の版間の差分
(en:Xdg-menuへの転送ページ) |
|||
1行目: | 1行目: | ||
+ | [[Category:デスクトップ環境]] |
||
− | #redirect[[en:Xdg-menu]] |
||
+ | [[en:Xdg-menu]] |
||
+ | '''xdg-menu''' は [http://standards.freedesktop.org/menu-spec/menu-spec-latest.html Free Desktop メニュースタンダード] を使って WM 用のメニューを生成します。[[公式リポジトリ]]から {{pkg|archlinux-xdg-menu}} をインストールできます。 |
||
+ | |||
+ | 以下のウィンドウマネージャがサポートされています: |
||
+ | * twm |
||
+ | * ion3 |
||
+ | * WindowMaker |
||
+ | * fvwm2 |
||
+ | * icewm |
||
+ | * blackbox |
||
+ | * fluxbox |
||
+ | * openbox |
||
+ | * awesome |
||
+ | |||
+ | KDE, Gnome, Xfce, Enlightenment は最初から XDG に対応しています。 |
||
+ | |||
+ | == メニューの階層 == |
||
+ | * アプリケーション |
||
+ | ** アクセシビリティ |
||
+ | ** アクセサリ |
||
+ | ** 開発 |
||
+ | ** 教育 |
||
+ | ** ゲーム |
||
+ | ** グラフィック |
||
+ | ** インターネット |
||
+ | ** マルチメディア |
||
+ | ** オフィス |
||
+ | ** その他 |
||
+ | ** 科学 |
||
+ | ** システム |
||
+ | |||
+ | == 設定 == |
||
+ | |||
+ | Xdg_menu は3つの情報源に基づいてメニューを生成します: ルートメニューあるいはコマンドラインで指定した XML メニューテンプレート、最後に実行されたときにキャッシュされた情報、そして一連の設定ファイルです。 |
||
+ | |||
+ | * XML メニューテンプレートは {{ic|/etc/xdg/menus}} に存在します。 |
||
+ | * xdg_menu のコードを変更してレイアウトを変えるときは、{{ic|~/.xdg_menu_cache}} 内のファイルを全て削除しないと変更箇所が perl スクリプトに反映されない理由を見つけるのに無駄に時間をかけることになります。 |
||
+ | * アプリケーションの個別設定は {{ic|/usr/share/applications}} にあります。 |
||
+ | |||
+ | 他の設定ファイルのディレクトリは {{ic|/usr/share}} 下で見つけられます。通常、それらのディレクトリに変更を加える必要はありません。ただし、メニューのレイアウトの表示方法などを変更したい場合はメニューテンプレートを細かく修正できます。大きな変更をするときは実際の xdg_menu の perl スクリプトを調整する必要があります。アプリケーションが表示されなかったり、おかしな名前で表示されるような場合、{{ic|/usr/share/applications}} の {{ic|.desktop}} ファイルを確認してください。[http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html 標準ファイル] をチェックしてください。 |
||
+ | |||
+ | === 他のディレクトリのデスクトップエントリを追加 === |
||
+ | |||
+ | デフォルトでは、Xdg-menu は {{ic|/usr/share/applications}} にデスクトップエントリをインストールするアプリケーションを使います。{{ic|~/.local/share/applications}} などのユーザーフォルダにデスクトップエントリをインストールするアプリケーションをメニューに追加するには、{{ic|/etc/xdg/menus/arch-applications.menu}} ファイルを編集して適当なディレクトリの {{ic|<AppDir>}} タグを追加してください。以下を参照: |
||
+ | |||
+ | {{hc|/etc/xdg/menus/arch-applications.menu| |
||
+ | <Menu> |
||
+ | |||
+ | <Name>Applications</Name> |
||
+ | <Directory>Arch-Applications.directory</Directory> |
||
+ | <DefaultAppDirs/> |
||
+ | '''<AppDir>/home/''username''/.local/share/applications</AppDir>''' |
||
+ | <DefaultDirectoryDirs/> |
||
+ | <DefaultMergeDirs/> |
||
+ | ... |
||
+ | }} |
||
+ | |||
+ | == 使用方法 == |
||
+ | |||
+ | === xdg_menu === |
||
+ | |||
+ | <pre> |
||
+ | xdg_menu [--format <format>] [--desktop <desktop>] |
||
+ | [--charset <charset>] [--language <language>] |
||
+ | [--root-menu <root-menu>] [--die-on-error] |
||
+ | [--fullmenu] [--help] |
||
+ | |||
+ | format - output format |
||
+ | possible formats: twm, WindowMaker, fvwm2, icewm, ion3 |
||
+ | blackbox, fluxbox, openbox, |
||
+ | xfce4, openbox3, openbox3-pipe, awesome |
||
+ | readable |
||
+ | default: WindowMaker |
||
+ | |||
+ | fullmenu - output a full menu and not only a submenu |
||
+ | |||
+ | desktop - desktop name for NotShowIn and OnlyShowIn |
||
+ | default: the same as format |
||
+ | |||
+ | charset - output charset |
||
+ | default: <locale> |
||
+ | |||
+ | language - output language |
||
+ | default: <locale> |
||
+ | |||
+ | root-menu - location of root menu file |
||
+ | default: /opt/gnome/etc/xdg/menus/applications.menu |
||
+ | |||
+ | die-on-error - abort execution on any error, |
||
+ | default: try to continue |
||
+ | |||
+ | verbose - print debugging information |
||
+ | |||
+ | help - print this text |
||
+ | </pre> |
||
+ | |||
+ | === update-menus === |
||
+ | |||
+ | <b>update-menus</B> は XDG のファイルから WM のメニューを更新し、設定で自動的に更新することもできます。 |
||
+ | |||
+ | {{ic|/etc/update-menus.conf}} を利用する xdg_menu のスクリプトラッパーです。 |
||
+ | |||
+ | {{pkg|archlinux-xdg-menu}} (xdg_menu) パッケージをインストールする必要があります。 |
||
+ | |||
+ | {{ic|/etc/update-menus.conf}} はウィンドウマネージャのリストから生成するメニューを選択します。# でコメントを付与できます。 |
||
+ | |||
+ | 生成されたメニューは全て {{ic|/var/cache/xdg-menu/}} に保存されます。詳しくはこのページのサンプルセクションを見て下さい。 |
||
+ | |||
+ | == サンプル == |
||
+ | |||
+ | === Awesome === |
||
+ | |||
+ | ==== xdg_menu を使う ==== |
||
+ | <pre> |
||
+ | $ xdg_menu --format awesome --root-menu /etc/xdg/menus/arch-applications.menu >~/.config/awesome/archmenu.lua |
||
+ | </pre> |
||
+ | 実行後、以下のように {{ic|rc.lua}} を編集: |
||
+ | * w新しい menu.lua ファイルの require ステートメントを追加 |
||
+ | * xdgmenu を呼び出す新しいメニューの awful.menu オブジェクトのエントリを追加 |
||
+ | <pre> |
||
+ | ... |
||
+ | xdg_menu = require("archmenu") |
||
+ | ... |
||
+ | |||
+ | ... |
||
+ | mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, |
||
+ | { "Applications", xdgmenu }, |
||
+ | { "open terminal", terminal } |
||
+ | } |
||
+ | }) |
||
+ | ... |
||
+ | </pre> |
||
+ | |||
+ | === IceWM === |
||
+ | |||
+ | ==== xdg_menu を使う ==== |
||
+ | <pre> |
||
+ | $ xdg_menu --format icewm --fullmenu --root-menu /etc/xdg/menus/arch-applications.menu >>~/.icewm/programs |
||
+ | </pre> |
||
+ | |||
+ | ==== update-menus を使う ==== |
||
+ | |||
+ | * {{ic|/etc/update-menus.conf}} で icewm をアンコメント |
||
+ | * root で ''update-menus'' を実行 |
||
+ | * {{ic|~/.icewm/programs}} に {{ic|/var/cache/xdg-menu/icewm/programs}} のシンボリックリンクを作成 |
||
+ | |||
+ | === Ion3 === |
||
+ | |||
+ | ==== xdg_menu を使う ==== |
||
+ | |||
+ | <pre> |
||
+ | $ xdg_menu --format ion3 --root-menu /etc/xdg/menus/arch-applications.menu >~/.ion3/default-session--0/_xdg-menu.lua |
||
+ | </pre> |
||
+ | |||
+ | 実行後、{{ic|cfg_menus.lua}} を編集して {{ic|_xdg-menu.lua}} ファイルを記述してメインメニューにメニューを追加してください。例: |
||
+ | |||
+ | <pre> |
||
+ | ... |
||
+ | |||
+ | dopath("_xdg-menu") |
||
+ | |||
+ | -- Main menu |
||
+ | defmenu("mainmenu", { |
||
+ | submenu("XDG Menu", "<NAME-OF-FIRST-MENU-IN-_xdg-menu.lua-FILE>"), |
||
+ | submenu("Programs", "appmenu"), |
||
+ | menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"), |
||
+ | menuentry("Help", "mod_query.query_man(_)"), |
||
+ | menuentry("About Ion", "mod_query.show_about_ion(_)"), |
||
+ | submenu("Styles", "stylemenu"), |
||
+ | submenu("Session", "sessionmenu"), |
||
+ | }) |
||
+ | |||
+ | ... |
||
+ | </pre> |
||
+ | |||
+ | ==== update-menus を使う ==== |
||
+ | |||
+ | * {{ic|/etc/update-menus.conf}} の ion3 をアンコメント |
||
+ | * root で ''update-menus'' を実行 |
||
+ | * {{ic|cfg_menus.lua}} を編集して {{ic|xdg-menu.lua}} ファイルを記述しメインメニューにメニューを追加 |
||
+ | |||
+ | 例: |
||
+ | |||
+ | <pre> |
||
+ | ... |
||
+ | |||
+ | dopath("/var/cache/xdg-menu/ion3/xdg-menu.lua") |
||
+ | |||
+ | -- Main menu |
||
+ | defmenu("mainmenu", { |
||
+ | submenu("XDG Menu", "<NAME-OF-FIRST-MENU-IN-xdg-menu.lua-FILE>"), |
||
+ | submenu("Programs", "appmenu"), |
||
+ | menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"), |
||
+ | menuentry("Help", "mod_query.query_man(_)"), |
||
+ | menuentry("About Ion", "mod_query.show_about_ion(_)"), |
||
+ | submenu("Styles", "stylemenu"), |
||
+ | submenu("Session", "sessionmenu"), |
||
+ | }) |
||
+ | |||
+ | ... |
||
+ | </pre> |
||
+ | |||
+ | === FluxBox === |
||
+ | |||
+ | ==== xdg_menu を使う ==== |
||
+ | |||
+ | <pre> |
||
+ | $ xdg_menu --format fluxbox --root-menu /etc/xdg/menus/arch-applications.menu >~/.fluxbox/my-menu |
||
+ | </pre> |
||
+ | |||
+ | メニューファイルを変更して生成したメニューを include する。 |
||
+ | |||
+ | 以下のように行を追加してください: |
||
+ | |||
+ | <pre> |
||
+ | [include] (my-menu) |
||
+ | </pre> |
||
+ | |||
+ | ==== update-menus を使う ==== |
||
+ | |||
+ | * {{ic|/etc/update-menus.conf}} で fluxbox をアンコメント |
||
+ | * root で ''update-menus'' を実行 |
||
+ | * メニューファイルを変更して生成したメニューをインクルード |
||
+ | |||
+ | 以下のように行を追加してください: |
||
+ | |||
+ | <pre> |
||
+ | [include] (/var/cache/xdg-menu/fluxbox/boxrc) |
||
+ | </pre> |
||
+ | |||
+ | === OpenBox === |
||
+ | |||
+ | ==== xdg_menu を使う ==== |
||
+ | |||
+ | 次のコマンドでメニューを生成: |
||
+ | <pre> |
||
+ | $ xdg_menu --format openbox3 --root-menu /etc/xdg/menus/arch-applications.menu > xdg-menu.xml |
||
+ | </pre> |
||
+ | |||
+ | そしてメニューを {{ic|menu.xml}} に手動で追加してください。例えば、{{ic|menu.xml}} に {{ic|xdg-menu.xml}} を配置して root-menu に以下を追加: |
||
+ | |||
+ | <pre> |
||
+ | <menu id="Applications" /> |
||
+ | </pre> |
||
+ | |||
+ | ==== パイプメニューを使う ==== |
||
+ | |||
+ | xdg_open をパイプメニューとして使うことで新しいアプリケーションをインストールした時に自動的にメニューを更新させることができます。 |
||
+ | |||
+ | 以下を {{ic|menu.xml}} のルートメニュータグの間のどこかに追加してください: |
||
+ | <pre> |
||
+ | <menu id="applications" label="Applications" execute="xdg_menu --format openbox3-pipe --root-menu /etc/xdg/menus/arch-applications.menu" /> |
||
+ | </pre> |
||
+ | |||
+ | 例: |
||
+ | <pre> |
||
+ | <?xml version="1.0" encoding="UTF-8"?> |
||
+ | |||
+ | <openbox_menu xmlns="http://openbox.org/3.4/menu"> |
||
+ | |||
+ | <menu id="root-menu" label="Openbox 3"> |
||
+ | <menu id="applications" label="Applications" execute="xdg_menu --format openbox3-pipe --root-menu /etc/xdg/menus/arch-applications.menu" /> |
||
+ | <separator /> |
||
+ | <item label="Log Out"> |
||
+ | <action name="Exit"> |
||
+ | <prompt>yes</prompt> |
||
+ | </action> |
||
+ | </item> |
||
+ | </menu> |
||
+ | |||
+ | </openbox_menu> |
||
+ | </pre> |
||
+ | |||
+ | ==== update-menus を使う ==== |
||
+ | * {{ic|/etc/update-menus.conf}} の openbox をアンコメント |
||
+ | * root で ''update-menus'' を実行 |
||
+ | * {{ic|menu.xml}} ファイルを変更して生成したメニューを読み込む |
||
+ | |||
+ | 例えば、以下をルートメニューに追加してください: |
||
+ | <pre> |
||
+ | <menu id="xdg-menu" label="XDG Menu" execute="cat /var/cache/xdg-menu/openbox/menu.xml"/> |
||
+ | </pre> |
||
+ | |||
+ | === Twm === |
||
+ | |||
+ | ==== xdg_menu を使う ==== |
||
+ | |||
+ | 次を実行: |
||
+ | <pre> |
||
+ | $ xdg_menu --format twm --root-menu /etc/xdg/menus/arch-applications.menu >my-twm-menu |
||
+ | </pre> |
||
+ | |||
+ | そして twmrc に手動で追加してください。m4 プリプロセッサを使用する vtwm や ctwm などの twm の亜種を使用する場合は、以下を *twmrc に追加することでメニューを読み込めます: |
||
+ | |||
+ | <pre> |
||
+ | sinclude(`/PATH/TO/my-twm-menu') |
||
+ | </pre> |
||
+ | |||
+ | ==== update-menus を使う ==== |
||
+ | |||
+ | * {{ic|/etc/update-menus.conf}} 内の twm をアンコメント |
||
+ | * {{ic|/etc/X11/twm/system.twmrc}} ファイルにアプリケーションメニューを追加 (以下の行を defops メニューに追記): |
||
+ | "apps" f.menu "Applications" |
||
+ | * root で ''update-menus'' を実行 |
||
+ | * {{ic|twm -f /var/cache/xdg-menu/twm/twmrc}} を実行 |
||
+ | |||
+ | ({{ic|/etc/X11/twm/system.twmrc}} をカスタマイズすることもできます)。 |
||
+ | |||
+ | === WindowMaker === |
||
+ | |||
+ | ==== xdg_menu を使う ==== |
||
+ | |||
+ | 次を実行: |
||
+ | <pre> |
||
+ | $ xdg_menu --format WindowMaker --root-menu /etc/xdg/menus/arch-applications.menu >my-wm-menu |
||
+ | </pre> |
||
+ | |||
+ | WindowMaker のメニューファイルに以下を追加: |
||
+ | |||
+ | <pre> |
||
+ | #include "my-wm-menu" |
||
+ | </pre> |
||
+ | |||
+ | WPrefs の "Application Menu Definitions" を使用して "Generated Submenu" に xdg コマンドをパラメータとして追加することも可能です。 |
||
+ | |||
+ | ==== update-menus を使う ==== |
||
+ | * {{ic|/etc/update-menus.conf}} の WindowMaker をアンコメント |
||
+ | * root で ''update-menus'' を実行 |
||
+ | * メニューファイルに以下を追加: |
||
+ | |||
+ | <pre> |
||
+ | #include "/var/cache/xdg-menu/WindowMaker/wmrc" |
||
+ | </pre> |
||
+ | |||
+ | === Fvwm2 === |
||
+ | |||
+ | ==== xdg_menu を使う ==== |
||
+ | |||
+ | メニューを生成: |
||
+ | |||
+ | <pre> |
||
+ | $ xdg_menu --format fvwm2 --root-menu /etc/xdg/menus/arch-applications.menu >fvwm2-menu |
||
+ | </pre> |
||
+ | |||
+ | メニューをルートメニューに追加: |
||
+ | |||
+ | <pre> |
||
+ | read fvwm2-menu |
||
+ | |||
+ | AddToMenu MenuFvwmRoot "Root Menu" Title |
||
+ | + "&0. XDG Menu" Popup xdg_menu |
||
+ | </pre> |
||
+ | |||
+ | ==== update-menus を使う ==== |
||
+ | |||
+ | * {{ic|/etc/update-menus.conf}} の fvwm2 をアンコメント |
||
+ | * root で ''update-menus'' を実行 |
||
+ | * {{ic|.fvwm2rc}} ファイルを開いて生成したメニューを指定。例: |
||
+ | |||
+ | <pre> |
||
+ | AddToMenu MenuFvwmRoot "Root Menu" Title |
||
+ | + "&0. XDG Menu" Popup xdg_menu |
||
+ | </pre> |
||
+ | |||
+ | <pre> |
||
+ | read /var/cache/xdg-menu/fvwm2/fvwm2rc |
||
+ | </pre> |
||
+ | |||
+ | === BlackBox === |
||
+ | |||
+ | ==== xdg_menu を使う ==== |
||
+ | |||
+ | <pre> |
||
+ | $ xdg_menu --format blackbox --root-menu /etc/xdg/menus/arch-applications.menu >my-menu |
||
+ | </pre> |
||
+ | |||
+ | メニューファイルを修正して生成したメニューを読み込んで下さい。 |
||
+ | |||
+ | 例えば以下のように行を追加: |
||
+ | |||
+ | <pre> |
||
+ | [include] (my-menu) |
||
+ | </pre> |
||
+ | |||
+ | ==== update-menus を使う ==== |
||
+ | |||
+ | * {{ic|/etc/update-menus.conf}} の blackbox をアンコメント |
||
+ | * root で ''update-menus'' を実行 |
||
+ | * メニューファイルを編集して生成したメニューを読み込む |
||
+ | |||
+ | 例えば以下のように行を追加: |
||
+ | |||
+ | <pre> |
||
+ | [include] (/var/cache/xdg-menu/blackbox/boxrc) |
||
+ | </pre> |
||
+ | |||
+ | == 参照 == |
||
+ | * {{Pkg|archlinux-xdg-menu}} |
||
+ | * [http://standards.freedesktop.org/menu-spec/menu-spec-latest.html Free Desktop menu standard] |
||
+ | * [[Sawfish]] |
2015年12月9日 (水) 11:32時点における版
xdg-menu は Free Desktop メニュースタンダード を使って WM 用のメニューを生成します。公式リポジトリから archlinux-xdg-menu をインストールできます。
以下のウィンドウマネージャがサポートされています:
- twm
- ion3
- WindowMaker
- fvwm2
- icewm
- blackbox
- fluxbox
- openbox
- awesome
KDE, Gnome, Xfce, Enlightenment は最初から XDG に対応しています。
目次
メニューの階層
- アプリケーション
- アクセシビリティ
- アクセサリ
- 開発
- 教育
- ゲーム
- グラフィック
- インターネット
- マルチメディア
- オフィス
- その他
- 科学
- システム
設定
Xdg_menu は3つの情報源に基づいてメニューを生成します: ルートメニューあるいはコマンドラインで指定した XML メニューテンプレート、最後に実行されたときにキャッシュされた情報、そして一連の設定ファイルです。
- XML メニューテンプレートは
/etc/xdg/menus
に存在します。 - xdg_menu のコードを変更してレイアウトを変えるときは、
~/.xdg_menu_cache
内のファイルを全て削除しないと変更箇所が perl スクリプトに反映されない理由を見つけるのに無駄に時間をかけることになります。 - アプリケーションの個別設定は
/usr/share/applications
にあります。
他の設定ファイルのディレクトリは /usr/share
下で見つけられます。通常、それらのディレクトリに変更を加える必要はありません。ただし、メニューのレイアウトの表示方法などを変更したい場合はメニューテンプレートを細かく修正できます。大きな変更をするときは実際の xdg_menu の perl スクリプトを調整する必要があります。アプリケーションが表示されなかったり、おかしな名前で表示されるような場合、/usr/share/applications
の .desktop
ファイルを確認してください。標準ファイル をチェックしてください。
他のディレクトリのデスクトップエントリを追加
デフォルトでは、Xdg-menu は /usr/share/applications
にデスクトップエントリをインストールするアプリケーションを使います。~/.local/share/applications
などのユーザーフォルダにデスクトップエントリをインストールするアプリケーションをメニューに追加するには、/etc/xdg/menus/arch-applications.menu
ファイルを編集して適当なディレクトリの <AppDir>
タグを追加してください。以下を参照:
/etc/xdg/menus/arch-applications.menu
<Menu> <Name>Applications</Name> <Directory>Arch-Applications.directory</Directory> <DefaultAppDirs/> <AppDir>/home/username/.local/share/applications</AppDir> <DefaultDirectoryDirs/> <DefaultMergeDirs/> ...
使用方法
xdg_menu [--format <format>] [--desktop <desktop>] [--charset <charset>] [--language <language>] [--root-menu <root-menu>] [--die-on-error] [--fullmenu] [--help] format - output format possible formats: twm, WindowMaker, fvwm2, icewm, ion3 blackbox, fluxbox, openbox, xfce4, openbox3, openbox3-pipe, awesome readable default: WindowMaker fullmenu - output a full menu and not only a submenu desktop - desktop name for NotShowIn and OnlyShowIn default: the same as format charset - output charset default: <locale> language - output language default: <locale> root-menu - location of root menu file default: /opt/gnome/etc/xdg/menus/applications.menu die-on-error - abort execution on any error, default: try to continue verbose - print debugging information help - print this text
update-menus は XDG のファイルから WM のメニューを更新し、設定で自動的に更新することもできます。
/etc/update-menus.conf
を利用する xdg_menu のスクリプトラッパーです。
archlinux-xdg-menu (xdg_menu) パッケージをインストールする必要があります。
/etc/update-menus.conf
はウィンドウマネージャのリストから生成するメニューを選択します。# でコメントを付与できます。
生成されたメニューは全て /var/cache/xdg-menu/
に保存されます。詳しくはこのページのサンプルセクションを見て下さい。
サンプル
Awesome
$ xdg_menu --format awesome --root-menu /etc/xdg/menus/arch-applications.menu >~/.config/awesome/archmenu.lua
実行後、以下のように rc.lua
を編集:
- w新しい menu.lua ファイルの require ステートメントを追加
- xdgmenu を呼び出す新しいメニューの awful.menu オブジェクトのエントリを追加
... xdg_menu = require("archmenu") ... ... mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon }, { "Applications", xdgmenu }, { "open terminal", terminal } } }) ...
IceWM
$ xdg_menu --format icewm --fullmenu --root-menu /etc/xdg/menus/arch-applications.menu >>~/.icewm/programs
/etc/update-menus.conf
で icewm をアンコメント- root で update-menus を実行
~/.icewm/programs
に/var/cache/xdg-menu/icewm/programs
のシンボリックリンクを作成
Ion3
$ xdg_menu --format ion3 --root-menu /etc/xdg/menus/arch-applications.menu >~/.ion3/default-session--0/_xdg-menu.lua
実行後、cfg_menus.lua
を編集して _xdg-menu.lua
ファイルを記述してメインメニューにメニューを追加してください。例:
... dopath("_xdg-menu") -- Main menu defmenu("mainmenu", { submenu("XDG Menu", "<NAME-OF-FIRST-MENU-IN-_xdg-menu.lua-FILE>"), submenu("Programs", "appmenu"), menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"), menuentry("Help", "mod_query.query_man(_)"), menuentry("About Ion", "mod_query.show_about_ion(_)"), submenu("Styles", "stylemenu"), submenu("Session", "sessionmenu"), }) ...
/etc/update-menus.conf
の ion3 をアンコメント- root で update-menus を実行
cfg_menus.lua
を編集してxdg-menu.lua
ファイルを記述しメインメニューにメニューを追加
例:
... dopath("/var/cache/xdg-menu/ion3/xdg-menu.lua") -- Main menu defmenu("mainmenu", { submenu("XDG Menu", "<NAME-OF-FIRST-MENU-IN-xdg-menu.lua-FILE>"), submenu("Programs", "appmenu"), menuentry("Lock screen", "ioncore.exec_on(_, 'xlock')"), menuentry("Help", "mod_query.query_man(_)"), menuentry("About Ion", "mod_query.show_about_ion(_)"), submenu("Styles", "stylemenu"), submenu("Session", "sessionmenu"), }) ...
FluxBox
$ xdg_menu --format fluxbox --root-menu /etc/xdg/menus/arch-applications.menu >~/.fluxbox/my-menu
メニューファイルを変更して生成したメニューを include する。
以下のように行を追加してください:
[include] (my-menu)
/etc/update-menus.conf
で fluxbox をアンコメント- root で update-menus を実行
- メニューファイルを変更して生成したメニューをインクルード
以下のように行を追加してください:
[include] (/var/cache/xdg-menu/fluxbox/boxrc)
OpenBox
次のコマンドでメニューを生成:
$ xdg_menu --format openbox3 --root-menu /etc/xdg/menus/arch-applications.menu > xdg-menu.xml
そしてメニューを menu.xml
に手動で追加してください。例えば、menu.xml
に xdg-menu.xml
を配置して root-menu に以下を追加:
<menu id="Applications" />
パイプメニューを使う
xdg_open をパイプメニューとして使うことで新しいアプリケーションをインストールした時に自動的にメニューを更新させることができます。
以下を menu.xml
のルートメニュータグの間のどこかに追加してください:
<menu id="applications" label="Applications" execute="xdg_menu --format openbox3-pipe --root-menu /etc/xdg/menus/arch-applications.menu" />
例:
<?xml version="1.0" encoding="UTF-8"?> <openbox_menu xmlns="http://openbox.org/3.4/menu"> <menu id="root-menu" label="Openbox 3"> <menu id="applications" label="Applications" execute="xdg_menu --format openbox3-pipe --root-menu /etc/xdg/menus/arch-applications.menu" /> <separator /> <item label="Log Out"> <action name="Exit"> <prompt>yes</prompt> </action> </item> </menu> </openbox_menu>
/etc/update-menus.conf
の openbox をアンコメント- root で update-menus を実行
menu.xml
ファイルを変更して生成したメニューを読み込む
例えば、以下をルートメニューに追加してください:
<menu id="xdg-menu" label="XDG Menu" execute="cat /var/cache/xdg-menu/openbox/menu.xml"/>
Twm
次を実行:
$ xdg_menu --format twm --root-menu /etc/xdg/menus/arch-applications.menu >my-twm-menu
そして twmrc に手動で追加してください。m4 プリプロセッサを使用する vtwm や ctwm などの twm の亜種を使用する場合は、以下を *twmrc に追加することでメニューを読み込めます:
sinclude(`/PATH/TO/my-twm-menu')
/etc/update-menus.conf
内の twm をアンコメント/etc/X11/twm/system.twmrc
ファイルにアプリケーションメニューを追加 (以下の行を defops メニューに追記):
"apps" f.menu "Applications"
- root で update-menus を実行
twm -f /var/cache/xdg-menu/twm/twmrc
を実行
(/etc/X11/twm/system.twmrc
をカスタマイズすることもできます)。
WindowMaker
次を実行:
$ xdg_menu --format WindowMaker --root-menu /etc/xdg/menus/arch-applications.menu >my-wm-menu
WindowMaker のメニューファイルに以下を追加:
#include "my-wm-menu"
WPrefs の "Application Menu Definitions" を使用して "Generated Submenu" に xdg コマンドをパラメータとして追加することも可能です。
/etc/update-menus.conf
の WindowMaker をアンコメント- root で update-menus を実行
- メニューファイルに以下を追加:
#include "/var/cache/xdg-menu/WindowMaker/wmrc"
Fvwm2
メニューを生成:
$ xdg_menu --format fvwm2 --root-menu /etc/xdg/menus/arch-applications.menu >fvwm2-menu
メニューをルートメニューに追加:
read fvwm2-menu AddToMenu MenuFvwmRoot "Root Menu" Title + "&0. XDG Menu" Popup xdg_menu
/etc/update-menus.conf
の fvwm2 をアンコメント- root で update-menus を実行
.fvwm2rc
ファイルを開いて生成したメニューを指定。例:
AddToMenu MenuFvwmRoot "Root Menu" Title + "&0. XDG Menu" Popup xdg_menu
read /var/cache/xdg-menu/fvwm2/fvwm2rc
BlackBox
$ xdg_menu --format blackbox --root-menu /etc/xdg/menus/arch-applications.menu >my-menu
メニューファイルを修正して生成したメニューを読み込んで下さい。
例えば以下のように行を追加:
[include] (my-menu)
/etc/update-menus.conf
の blackbox をアンコメント- root で update-menus を実行
- メニューファイルを編集して生成したメニューを読み込む
例えば以下のように行を追加:
[include] (/var/cache/xdg-menu/blackbox/boxrc)