Menus dynamiques avec Openbox

This page is available in english

Présentation

Mon bureau est très simple : pas de panel, pas d'icônes sur le bureau, même pas de bureau. Il me fallait un semblant de confort pour arriver à retrouver les programmes installés à l'aide d'un classement par catégories, comme les menus que proposent les panels (lxpanel, xfce4-panel…). Comment faire ? C'est là qu'intervient Openbox, ses menus dynamiques (pipe-menus) et openbox-menu.

Comme il ne faut pas réinventer la roue, nous utiliserons menu-cache du projet LXDE pour la génération du menu.

Capture d'écran

Salix with Openbox 3.5.0

Dépendances

Le programme utilise :

Vous aurez aussi besoin d'installer lxmenu-data, si vous utilisez un environnement sans gestionnaire de menus. C'est nécessaire si votre environnement ne fournit pas un fichier de définition de menus.

Compilation et installation

Compilation

Décompressez l'archive.

tar xzf openbox-menu-<version>.tar.bz2
cd openbox-menu-<version>

Compilez

make

Vous avez maintenant l'exécutable openbox-menu.

Installation

La configuration des menus dynamiques s'effectue dans le fichier menu.xml de /etc/xdg/openbox ou dans le répertoire /home/UTILISATEUR/.config/openbox/. Je vous recommande la configuration du fichier dans votre répertoire personnel.

Le programme utilise par défaut le fichier applications.menu du répertoire /etc/xdg/menus. Il est possible d'indiquer un fichier, cependant celui-ci doit obligatoirement se trouver dans le répertoire /etc/xdg/menus (limitation liée à la bibliothèque libmenu-cache).

Première étape, il vous faut définir le menu dans menu.xml.

<menu id="desktop-app-menu"
      label="Applications"
      execute="<chemin-vers-exec>/openbox-menu" />

Si vous voulez utilisez un autre fichier de définition de menu, par exemple lxde-applications.menu fourni par lxmenu-data, il vous faut ajouter le nom de fichier en argument

<menu id="desktop-app-menu"
      label="Applications"
      execute="<chemin-vers-exec>/openbox-menu lxde-applications.menu" />

Deuxième étape, il faut placer l'entrée suivante dans le menu principal d'Openbox (root-menu)

<menu id="desktop-app-menu" />

Regardez l'exemple pour avoir une meilleure idée : menu.xml

Après l'installation.

Libmenu-cache utilise le daemon menu-cached pour diminuer le temps de génération du menu. L'ajout de menu-cached dans le fichier de démarrage d'openbox (~/.config/openbox/autostart.sh) est donc conseillé.

L'ajout de menu-cached n'est plus conseillé car cela peut générer des problèmes.

Téléchargement

La dernière version était disponible sur Bitbucket sauf qu'ils ont tout cassé les dépots utilisant Mercurial (snif). Le dépot a été converti sur git et devrait ressembler à ce qu'il était dans ses glorieuses années. Je n'utilise plus Openbox depuis longtemps.

Téléchargement : sources Openbox-menu.

License

Openbox-menu est placé sous GPLv3.