CONFIGURER LE MENU OPENBOX

Avant de commencer je rappelle que vous pouvez trouver le menu openbox de Crunchbang en francais ici

Le menu Openbox est très flexible, et utilise ce que l'on appelle des “pipe menu” ou vous pouvez virtuellement afficher ce que vous voulez. Hélas les applications que vous installez ne sont pas mises à jour automatiquement dans ce menu et vous devez le faire à la main.

Il y a 2 manières d'éditer le menu Openbox, une interface graphique “Obmenu”, ou en éditant directement le fichier menu.xml.

OBMENU

Vous pouvez accéder à Obmenu via le menu, Préférences –> Configurer Openbox –> Editeur graphique du menu.

L'utilisation d'Obmenu est assez intuitive, je ne m'étendrais donc pas sur le sujet.

Pour éditer une entrée, sélectionnez la et éditez les détails dans le bas de la fenêtre, pour ajouter une nouvelle entrée cliquez sur “new item” dans le menu.

Une item correspond a un lanceur, donc a un programme que vous souhaitez exécuter. Et un menu… et bien c'est un menu quoi.

Label : Texte qui sera affiché dans le menu
Action : Action de cette entrée lors d'un clic
-Execute : pour executer un programme
-Reconfigure : demande a Openbox de relire ses fichier de configuration
-Restart : Ferme complètement Openbox et le relance (ainsi que tout les processus enfant d'Openbox)
-Exit : Ferme Openbox
Execute : chemin vers le programme qui dois être exécuter.

pour plus d'informations sur Obmenu
http://obmenu.sourceforge.net/index.html (en)

MENU.XML

Le fichier menu.xml est accessible depuis le menu via Préférences –> Configurer Openbox –> Editer menu.xml. mais vous pouvez le trouver dans /home/$USER/.config/openbox/menu.xml

Ce fichier utilise la syntaxe XML, sa structure est simple :

<?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">

Les deux premieres lignes définissent le format XML et ouvre ainsi”<openbox_menu>”

	<menu id="root-menu" label="Openbox 3">

Ceci créer le menu racine qui contiendra les lanceurs et les sous menus.

Voici comment est constitué un lanceur

<item label="Exécuter">
	<action name="Execute">
		<execute>
			gmrun
		</execute>
	</action>
</item>
<item label="Exécuter">

Le label est le nom que vous verrez s'afficher dans le menu, dans ce cas 'Exécuter'

 <action name="Execute">

Action défini ce qu'il doit se passer lorsque l'entrée est cliquée.

  <execute>
    gmrun
  </execute>

Voici la commande qui est exécutée lorsque vous cliquer sur l'entrée dans le menu.

  </action>
</item>

Ces tags sont les tags de fermeture de l'action et de l'item. Ce sont en quelques sorte des conteneurs. Chaque tag ouvert doit être fermé avant d'en ouvrir un nouveau.

Créer un menu

<menu id="monMenu" label="Menu perso">
 ##vous pouvez inclure ici d'autre menu
  <menu id="monMenu" label="Menu perso">
   ## mais aussi des items
   <item label="Mon Programme">
	<action name="Execute">
		<execute>
			monProgram
		</execute>
	</action>
   </item>
  </menu>
</menu>

Plus d'informations sur le menu Openbox http://openbox.org/wiki/Help:Contents#Menus(en)

"PIPE MENUS"

Les “Pipe menus” (prononcer “païp”) lorsqu'ils sont utilisés, exécutent une commande en terminal et affichent le résultat dans le menu. Il peut s'agir d'informations aussi diverses que l'heure ou la météo, un calendrier, une to-do list ou encore afficher la musique que vous écouter actuellement. Dans le menu par défaut se trouvent déjà quelques pipe-menus. Le sous menu “Places” ou “Raccourcis” (si vous avez francisé votre #!) génère un menu contenant les dossiers de votre dossier personnel, si vous cliquez sur une image une visionneuse d'image s'ouvrira, si vous cliquez sur un fichier texte il s'ouvrira dans un éditeur de texte.

Ajouter des "Pipe menus"

Exemple d'une liste de tâche

Cette partie est destinée a couvrir l'installation d'un script qui sera exécuté en tant que menu pipe dans openbox. (pour l'exemple une todo list sources:http://www.davisd.com/blog/2010/11/28/openbox-pipe-menu-todo-task-list/ qui s'appuie sur le script de gina trapani todo-txt cli sources:https://github.com/ginatrapani/todo.txt-cli/wiki/Quick-Start-Guide)

#! possède un répertoire ~/bin qui contient les scripts et programmes personnels.

Commençons par y mettre le script de gestion des tâches

wget --no-check-certificate https://github.com/downloads/ginatrapani/todo.txt-cli/todo.txt_cli-2.7.tar.gz
tar -xvzf todo.txt_cli-2.7.tar.gz -C ~/bin
mv ~/bin/todo.txt*/todo.sh ~/bin/todo.sh && chmod +x ~/bin/todo.sh
mkdir ~/.todo
mv ~/bin/todo.txt*/todo.cfg ~/.todo/config && chmod +x ~/.todo/config
rm -Rf ~/bin/todo.txt*

Edition du menu de configuration

gedit ~/.todo/config

Changer le dossier par défaut

#export TODO_DIR="/Users/gina/Documents/todo"
export TODO_DIR="C:/Documents and Settings/gina/My Documents"

par

export TODO_DIR="/home/$USER/.todo"
#export TODO_DIR="C:/Documents and Settings/gina/My Documents"

A présent vous pouvez ajouter ou supprimer des tâches grace a la commande

todo.sh add "La tache que vous souhaitez ajouter"

A présent revenons au sujet d'origine, le pipe-menu qui affichera les tâches créées dans le menu openbox

wget --no-check-certificate https://github.com/davisd/todo.txt-cli-openbox-pipe-menu/tarball/master && mv master ~/bin/todo_menu.tar.gz
tar -xvzf ~/bin/todo_menu.tar.gz && rm ~/bin/todo_menu.tar.gz
mv davisd*/todo_menu.sh ~/bin/

le dossier david-todo-txt contient les fichiers de licence et de l'auteur. Ils ne sont pas necessaires pour l'execution du script et vous pouvez les supprimer après en avoir pris connaissance

rm -Rf ~/bin/davisd*

une fois le script téléchargé, il faut le rendre executable

chmod +x ~/bin/todo_menu.sh

Vous pouvez éditer le script afin de le franciser

gedit ~/bin/todo_menu.sh

la ligne 43 affiche l’entête du menu remplacez

echo "<separator label=\"Tasks\" />"

par

    echo "<separator label=\"Tâches\" />"

Maintenant que le script est installé il faut créer l'entrée dans le menu.

Si vous utilisez Obmenu

Cliquer sur la ligne ou vous souhaitez insérer l'item, puis selectionnez 'Pipemenu' dans le menu “Add” donner un nom dans la section “label” et enfin dans la section “execute” tapez le chemin complet de votre script ex. ~/bin/todo_menu.sh. Il ne vous reste qu'a sauvegarder et a recharger Openbox.

En éditant directement menu.xml
Rendez-vous dans la section où vous souhaitez placer votre pipe-menu et ajoutez ceci :

<menu execute="~/bin/todo_menu.sh" id="todo_menu" label="Liste de tâches"/>

Sauvegardez et quittez.

Recharger
Il faut ensuite recharger le menu via Préférences –> Configurer Openbox –> Reconfigurer

ou alors dans un terminal

 openbox --reconfigure 

Mise a jour automatique du menu

Si vous voulez que les applications que vous installez s'ajoutent automatiquement dans le menu, un menu pipe existe pour cela. Ouvrez le fichier menu.xml et ajoutez :

<menu id="/Debian" />

à l'endroit où vous souhaitez que le menu apparaisse.

Ouvrez le fichier ~/.config/openbox/rc.xml via Préférences –> Configurer Openbox –> éditer rc.xml ou en passant par un terminal. Puis trouvez la partie contenant :

<!-- system menu files on Debian systems
<file>/var/lib/openbox/debian-menu.xml</file>
<file>debian-menu.xml</file> -->

et changez le en :

<!-- system menu files on Debian systems --> 
<file>/var/lib/openbox/debian-menu.xml</file>
<file>debian-menu.xml</file>

Il vous faut ensuite installer l'application “menu”, via Synaptic: Systeme –> Gestionnaire de paquets Synaptic - faite une recherche sur “menu” - clic droit → “selectionner pour installation” - appliquez

ou alors via un terminal

sudo apt-get install menu

Pour finir rechargez Openbox

openbox --reconfigure

LIENS

 
Dernière modification par arpinux le 01/04/2014 19:53