1. 概要
とりあえず
/etc/xdg/openbox/lxqt-rc.xml
~/.config/openbox/lxqt-rc.xml
は違いがないようだし
~/.config/openbox/menu.xml
がなくて
/etc/xdg/openbox/menu.xml
を使っているようなので、ユーザ用ファイルに持ってきて
~/.config/openbox/menu.xml
~/.config/openbox/lxqt-rc.xml
をごりごりと手動で、カスタマイズしてみることにします。
以下、今んとこ(2020年11月30日)、「Fedora 33 Openbox」決め打ちです。
2. 用意
カスタマイズ用のファイルを用意します。
cp /etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml
3. 最上位日本語化
メニューの最上位の項目を日本語化します。
vi ~/.config/openbox/menu.xml
<?xml version="1.0" encoding="UTF-8"?>
<openbox_menu xmlns="http://openbox.org/3.4/menu">
<menu id="applications-menu" label="Applications" execute="/usr/libexec/openbox-xdg-menu applications"/>
<menu id="preferences-menu" label="Preferences" execute="/usr/libexec/openbox-xdg-menu preferences"/>
<menu id="administration-menu" label="Administration" execute="/usr/libexec/openbox-xdg-menu system-settings"/>
<menu id="terminals-menu" label="Terminals" execute="/usr/libexec/openbox-xdg-menu /etc/xdg/openbox/terminals"/>
<menu id="root-menu" label="Openbox 3">
<separator label="Openbox"/>
<menu id="applications-menu"/>
<menu id="preferences-menu"/>
<menu id="administration-menu"/>
<separator/>
<menu id="terminals-menu"/>
<separator/>
<item label="Reconfigure">
<action name="Reconfigure" />
</item>
<item label="Exit">
<action name="Exit">
<prompt>yes</prompt>
</action>
</item>
<separator/>
<item label="Log Out">
<action name="SessionLogout">
<prompt>yes</prompt>
</action>
</item>
</menu>
</openbox_menu>
を下記へ変更します。
<?xml version="1.0" encoding="UTF-8"?>
<openbox_menu xmlns="http://openbox.org/3.4/menu">
<menu id="applications-menu" label="アプリケーション" execute="/usr/libexec/openbox-xdg-menu applications"/>
<menu id="preferences-menu" label="設定" execute="/usr/libexec/openbox-xdg-menu preferences"/>
<menu id="administration-menu" label="システム設定" execute="/usr/libexec/openbox-xdg-menu system-settings"/>
<menu id="terminals-menu" label="端末" execute="/usr/libexec/openbox-xdg-menu /etc/xdg/openbox/terminals"/>
<menu id="root-menu" label="Openbox 3">
<separator label="Openbox"/>
<menu id="applications-menu"/>
<menu id="preferences-menu"/>
<menu id="administration-menu"/>
<separator/>
<menu id="terminals-menu"/>
<separator/>
<item label="再定義">
<action name="Reconfigure" />
</item>
<item label="終了">
<action name="Exit">
<prompt>yes</prompt>
</action>
</item>
<separator/>
<item label="ログアウト">
<action name="SessionLogout">
<prompt>yes</prompt>
</action>
</item>
</menu>
</openbox_menu>
本当は、メニューの最上位にもアイコンをつけたかったのですが、どうも「<item>」の項目には「icon="パス/アイコンファイル名"」でアイコンを表示できるのですが。
「<item>」の項目には「icon=""」が効かないようなので、断念しました。
4. サブカテゴリ日本語化
最上位のメニューアイコン化は、断念しましたが、アプリケーションメニューのサブカテゴリまでは、日本語化したい。
「menu.xml」をながめて、まぁ
/usr/libexec/openbox-xdg-menu
を起動していることがわかるのですが・・・。
「openbox-xdg-menu」のソースをながめていると、下記のような記述があります。
if len(sys.argv) > 1:
menufile = sys.argv[1] + '.menu'
else:
menufile = 'applications.menu'
lang = os.environ.get('LANG')
if lang:
xdg.Config.setLocale(lang)
# lie to get the same menu as in GNOME
xdg.Config.setWindowManager('GNOME')
if icons:
theme = Gtk.IconTheme.get_default()
menu = xdg.Menu.parse(menufile)
「applications.menu」てなファイルを読み込んでおるぞ・・・と。
(ちなみに、ライブラリとして「/usr/lib/python3.9/site-packages/xdg/」以下をインポートしています)
そのファイルが
/etc/xdg/menus
にあります。
ホームディレクトリにコピーしてカスタマイズします。
cp -R /etc/xdg/menus ~/.config/menus
vi ~/.config/menus/applications.menu
編集後の状態のみ掲載しちゃいます。
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
<Name>Applications</Name>
<Directory>X-GNOME-Menu-Applications.directory</Directory>
<!-- Scan legacy dirs first, as later items take priority -->
<LegacyDir>/usr/share/gnome/apps</LegacyDir>
<LegacyDir>/etc/X11/applnk</LegacyDir>
<!-- Read standard .directory and .desktop file locations -->
<KDELegacyDirs/>
<DefaultAppDirs/>
<DefaultDirectoryDirs/>
<!-- Add stock tarball installs to menus -->
<AppDir>/usr/local/share/applications</AppDir>
<!-- Accessories submenu -->
<Menu>
<Name>アクセサリ</Name>
<Directory>Utility.directory</Directory>
<Include>
<And>
<Category>Utility</Category>
<Not>
<Category>System</Category>
</Not>
</And>
</Include>
</Menu> <!-- End Accessories -->
<!-- Development Tools -->
<Menu>
<Name>開発</Name>
<Directory>Development.directory</Directory>
<Include>
<And>
<Category>Development</Category>
</And>
</Include>
</Menu> <!-- End Development Tools -->
<!-- Education -->
<Menu>
<Name>教育</Name>
<Directory>Education.directory</Directory>
<Include>
<And>
<Category>Education</Category>
</And>
</Include>
</Menu> <!-- End Education -->
<!-- Games -->
<Menu>
<Name>ゲーム</Name>
<Directory>Game.directory</Directory>
<Include>
<And>
<Category>Game</Category>
</And>
</Include>
</Menu> <!-- End Games -->
<!-- Graphics -->
<Menu>
<Name>グラフィックス</Name>
<Directory>Graphics.directory</Directory>
<Include>
<And>
<Category>Graphics</Category>
</And>
</Include>
</Menu> <!-- End Graphics -->
<!-- Internet -->
<Menu>
<Name>ネットワーク</Name>
<Directory>Network.directory</Directory>
<Include>
<And>
<Category>Network</Category>
<Not><Category>Settings</Category></Not>
</And>
</Include>
</Menu> <!-- End Internet -->
<!-- Multimedia -->
<Menu>
<Name>マルチメディア</Name>
<Directory>AudioVideo.directory</Directory>
<Include>
<And>
<Category>AudioVideo</Category>
<Not><Category>Settings</Category></Not>
</And>
</Include>
</Menu> <!-- End Multimedia -->
<!-- Office -->
<Menu>
<Name>オフィス</Name>
<Directory>Office.directory</Directory>
<Include>
<And>
<Category>Office</Category>
</And>
</Include>
</Menu> <!-- End Office -->
<!-- System Tools-->
<Menu>
<Name>システムツール</Name>
<Directory>System-Tools.directory</Directory>
<Include>
<And>
<Category>System</Category>
<Not><Category>Settings</Category></Not>
<Not><Category>Screensaver</Category></Not>
</And>
</Include>
</Menu> <!-- End System Tools -->
<!-- Other -->
<Menu>
<Name>その他</Name>
<Directory>X-GNOME-Other.directory</Directory>
<OnlyUnallocated/>
<Include>
<And>
<Not><Category>Core</Category></Not>
<Not><Category>Settings</Category></Not>
<Not><Category>SystemSetup</Category></Not>
<Not><Category>X-Red-Hat-ServerConfig</Category></Not>
<Not><Category>Screensaver</Category></Not>
<Not><Category>Documentation</Category></Not>
</And>
</Include>
</Menu> <!-- End Other -->
<MergeFile>applications-kmenuedit.menu</MergeFile>
<!-- Read in overrides and child menus from applications.d -->
<DefaultMergeDirs/>
</Menu> <!-- End Applications -->
「<Name>」タグの行を日本語にしているだけです。
5. 反映
前項までの設定を反映します。
デスクトップ上を右クリックして
「Reconfigure」