Lubuntu 14.04LTS Openboxのメニュー設定(アプリケーションメニュー)

  Lubuntu

前回Openboxのメニューの静的な要素を編集したので今回は動的なアプリケーションメニューを表示させてみます。

前回の「Lubuntu 14.04LTS Openboxのメニューを設定」はこちら

 

前回までのOpenboxのメニューにはアプリケーションのメニュー(ランチャー)が無いので少々不便でした。

手っ取り早く簡単にメニューを表示させるのであれば、前回編集した「~/config/openbox/menu.xml」の20行目にある<menu id=”/Debian” />が機能していないようなので、これを機能させればとりあえずのアプリケーションメニューは表示するようです。

直前のコメントアウト部分に「This requires the presence of the ‘menu’ package to work」(機能させるには「menuパッケージ」をインストールする必要がある)とあります。

※今回はDebianではなく、Lubuntuのメニューを表示させる予定なのでこれはインストールしないです。

もし、インストールするのであればこんな感じです。

$ apt list menu
一覧表示... 完了
menu/trusty 2.1.46ubuntu1 i386
$ sudo apt install menu

 

今回は必要が無いので<menu id=”/Debian” />とコメントアウト部分は削除しました。

 

Lubuntuのアプリケーションメニューを表示させる

Openboxのメニューで動的にLubuntuのアプリケーションメニューを表示させるために「openbox-xdgmenu」をインストールします。

 

openbox-xdgmenuの確認
$ apt list openbox-xdgmenu
一覧表示... 完了
openbox-xdgmenu/trusty 0.3-0ubuntu2 i386

 

openbox-xdgmenuのインストール
$ sudo apt install openbox-xdgmenu

 

openbox-xdgmenuを実行してみます。

$ openbox-xdgmenu
Creates an OpenBox menu from an Xdg menu structure.

Usage:
  openbox-xdgmenu [options] <Xdg menu file>

Options:
  -a: Show the amount of items in each category next to its name.
  -p: Do not use categories.

For example:
  openbox-xdgmenu "/etc/xdg/menus/applications.menu"

 

「For example:」にあるディレクトリの中を確認してみます。

$ ls /etc/xdg/menus/
lxde-applications.menu  lxlauncher-applications.menu

 

おそらく「lxde-applications.menu」がセッション「Lubuntu」でログインしたときのスタートメニューに並ぶメニューで、「lxlauncher-applications.menu」がセッション「Lubuntu-Netbook」でログインしたときのランチャーに並ぶメニューではないかと思います。

試しに「For example」にあるコマンドを実行してみるとメニューらしきxmlが出力されます。

$ openbox-xdgmenu "/etc/xdg/menus/lxde-applications.menu"
<openbox_pipe_menu>
<menu id="xdg-menu-ƒAƒNƒZƒTƒŠ" label="ƒAƒNƒZƒTƒŠ">
<item label="Archive Manager">
<action name="Execute"><execute>file-roller   </execute></action>
</item>
<item label="Character Map">
<action name="Execute"><execute>gucharmap</execute></action>
</item>
<item label="Disks">
<action name="Execute"><execute>gnome-disks</execute></action>
</item>
<item label="Galculator">
<action name="Execute"><execute>galculator</execute></action>
</item>
<item label="LXTerminal">
<action name="Execute"><execute>lxterminal</execute></action>
</item>
~ 省略 ~

 

このコマンドをOpenboxの設定ファイルに加えます。
編集するファイルは前回と同じ「~/.config/openbox/menu.xml」をテキストエディタで編集します。

21行目に先ほどの「openbox-xdgmenu /etc/xdg/menus/lxde-applications.menu」を追加します。

<menu execute="openbox-xdgmenu /etc/xdg/menus/lxde-applications.menu" id="lxde" label="Application" />
<separator />

 

追加したらmenu.xmlを保存します。
デスクトップの適当な場所で右クリックしてメニューを表示させ「Reconfigure」を選択してOpenboxの設定を再読み込みします。

openbox-menu-5

 

アプリケーションを追加(インストール)したらメニューにも動的に反映されるか試してみます。

とりあえずChromiumをインストールしてみます。
端末からインストールします。

$ apt list chromium-browser
一覧表示... 完了
chromium-browser/trusty-updates,trusty-security 37.0.2062.120-0ubuntu0.14.04.1~pkg1049 i386
$ sudo apt install chromium-browser

 

インストールが完了したら、メニューを確認してみます。

openbox-menu-6

 

Chromiumが追加されていれば成功です。

以上でOpenboxのメニュー設定は完了です。

 

menu.xml

ここまでのソース

<?xml version="1.0" encoding="UTF-8"?>

<openbox_menu xmlns="http://openbox.org/"
		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
		xsi:schemaLocation="http://openbox.org/
				file:///usr/share/openbox/menu.xsd">

<menu id="root-menu" label="Openbox 3">
  <separator label="Lubuntu" />
  <item label="Terminal emulator">
	<action name="Execute"><execute>x-terminal-emulator</execute></action>
  </item>
  <item label="Web browser">
	<action name="Execute"><execute>x-www-browser</execute></action>
  </item>
  <item label="Text Editor">
	<action name="Execute"><execute>leafpad</execute></action>
  </item>
  <menu execute="openbox-xdgmenu /etc/xdg/menus/lxde-applications.menu" id="lxde" label="Application" />
  <separator />
    <menu id="folders" label="Folder">
	<item label="Home">
	  <action name="Execute"><execute>pcmanfm ~/</execute></action>
	</item>
	<item label="Desktop">
	  <action name="Execute"><execute>pcmanfm ~/Desktop</execute></action>
	</item>
	<item label="Documents">
	  <action name="Execute"><execute>pcmanfm ~/Documents</execute></action>
	</item>
	<item label="Downloads">
	  <action name="Execute"><execute>pcmanfm ~/Downloads</execute></action>
	</item>
	<item label="Music">
	  <action name="Execute"><execute>pcmanfm ~/Music</execute></action>
	</item>
	<item label="Pictures">
	  <action name="Execute"><execute>pcmanfm ~/Pictures</execute></action>
	</item>
	<item label="Public">
	  <action name="Execute"><execute>pcmanfm ~/Public</execute></action>
	</item>
	<item label="Templates">
	  <action name="Execute"><execute>pcmanfm ~/Templates</execute></action>
	</item>
	<item label="Videos">
	  <action name="Execute"><execute>pcmanfm ~/Videos</execute></action>
	</item>
  </menu>
  <menu id="client-list-menu" />
  <separator />
  <menu id="Openbox" label="Openbox">
	<item label="ObConf">
	  <action name="Execute"><execute>obconf</execute></action>
	</item>
	<item label="Reconfigure">
	  <action name="Reconfigure" />
	</item>
	<item label="Restart">
	  <action name="Restart" />
	</item>
 </menu>
  <separator />
  <item label="Exit">
	<action name="Exit" />
  </item>
</menu>

</openbox_menu>

  Lubuntu     by