「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)