Bonjour,
L'ajout d'une simple icône dans wbar, pour lancer Firefox par exemple, est très simple en utilisant wbar-config : dans le menu le lanceur se trouve sous Bureau et s'appelle logiquement Wbar configuration.
Dans la fenêtre de configuration qui s'ouvre il suffit de cliquer sur le bouton "Nouveau" :
- dans le champ "Titre" on note le texte que l'on veut voir apparaître, ici logiquement "Firefox" ou "Navigateur Firefox" ;
- dans le champ commande on note le fichier qui va lancer l'application, ici c'est encore "firefox" ; si on veut que soit toujours lancé le navigateur par défaut il faut inscrire "defaultbrowser" ;
- dans le champ icône on note le chemin de l'icône que l'on veut voir affichée, ici normalement "/usr/share/wbar/wbar.icons/firefox.png" ; chez moi c'est comme ça mais si vous avez vos icônes dans un tout autre dossier il suffit d'en indiquer le chemin. Un petit bouton à droite du champ permet de parcourir l'arborescence, comme pour le champ commande d'ailleurs.
Ensuite valider tout ça en cliquant sur "Accepter".
L'aplication que l'on vient de définir apparaît maintenant en bas de la liste des applications, ce qui indique qu'elle sera placée tout à fait à droite, en dernier, dans wbar. Pour la placer à l'endroit que l'on souhaite il faut cliquer sur la ligne concernée et utiliser les flèches en bas à droite de la fenêtre pour déplacer la ligne vers le haut ou le bas.
On peut vérifier si ce que l'on a fait nous convient en cliquant sur le bonton "Relancer" de la fenêtre de configuration.
Pour modifie ce que l'on a fait il faut cliquer sur la ligne que l'on veut corriger puis cliquer sur "Editer".
Pour supprimer une entrée il faut cliquer sur la ligne que l'on veut enlever puis cliquer sur "Effacer".
On quitte la fenêtre de configuration en cliquant bien évidemment sur "Fermer".
Maintenant c'est certainement la partie la plus intéressante : wbar peut parfaitement constituer un menu complet... mais c'est plus compliqué car il faut le fabriquer !
Sur mon installation tout le nécessaire est dans /root/my-applications/bin : c'est un héritage de ce qu'à fait Petihar sur sa Triton : merci à lui pour la découverte et pour son travail. Mais on peut tout à fait placer les fichiers qui vont être décrits où l'on veut.
Pour créer un groupe d'applications on a besoin de deux fichiers : Appli.sh et Appli.conf. On les appelle comme on veut mais pour s'y retrouver plus simplement il vaut mieux qu'ils aient le même en-tête, ici « Appli ».
Le fichier Appli.conf est en fait une liste successive des renseignements nécessaires au lancement de chaque applications qui seront dans notre groupe.
Il ne contient qu'une succession de trois lignes qui correspondent en fait aux champs « Titre », « Comande » et « Icône » vus précédemment :
Code: Select all
LABEL1="Fichiers"
ICON1="/usr/share/wbar/wbar.icons/fichiers.png"
EXEC1="rox"
Avec l'exemple ci-dessus on va avoir une icône, fichiers.png, avec comme titre « Fichiers » et au clic c'est la commande « rox » qui sera lancée.
Voilà pour la première application du groupe.
Pour les autres ils suffit de compléter les mêmes lignes en prenant bien soin d'incrémenter le chiffre.
Code: Select all
LABEL2="Connexion"
ICON2="/usr/share/wbar/wbar.icons/connexion.gif"
EXEC2="/usr/local/apps/Connect/AppRun"
LABEL3="Terminal"
ICON3="/usr/share/wbar/wbar.icons/terminal.png"
EXEC3="joe-portable"
Et ainsi de suite jusqu'à 20 ou plus si nécessaire.
Le fichier Appli.sh, indispensable au bon fonctionnement, est un peu plus compliqué mais ça reste accessible puisque je m'en suis dépatouillé !
C'est un script et il commence donc par
On reprend les lignes pour rendre à César ce qui est à César : la provenance du script et la licence
Code: Select all
# AppStarter 1.2
#
# Copyright 2010 puppymartin www.browserlinux.com
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
# version 1.1 - added config file
# version 1.2 - removed the menu: memory problems in JWM
La ligne suivante indique que le fichier Appli.conf est nécessaire :
Code: Select all
. /root/my-applications/bin/Appli.conf
On commence ensuite à définir la fenêtre qui va contenir nos icônes :
Code: Select all
export MAIN_DIALOG="
<window title=\"Centre de contrôle\" icon-name=\"gtk-preferences\" window-position=\"2\">
<vbox>
</vbox>
</window>
"
gtkdialog3 --program=MAIN_DIALOG
unset MAIN_DIALOG
Exit;
MAIN_DIALOG est le nom donné ici à cette partie du code : on peut mettre ce que l'on veut mais il faut penser à le changer partout : cf la fin du script !
La fenêtre aura ici comme titre « Centre de contrôle » et elle s'affichera en position 2 c'est à dire sur wbar : il y a une position 1 et une 0 il me semble ; l'une plaçant au centre de l'écran et l'autre je ne sais plus où !
<window></window> est une balise qui contient la balise <vbox></vbox> : c'est au sein de cette dernière que l'on a à travailler.
Une balise s'ouvre et se ferme : j'ouvre la balise avec <vbox> et je la ferme par </vbox>. Entre les deux je place tout ce dont j'ai besoin mais toujours en respectant ce principe d'ouverture/fermeture.
Une balise <hbox></hbox> est une ligne : avec 4 balises hbox je vais donc avoir une fenêtre avec 4 lignes :
Code: Select all
"
<window title=\"Centre de contrôle\" icon-name=\"gtk-preferences\" window-position=\"2\">
<vbox>
<hbox>
</hbox>
<hbox>
/hbox>
<hbox>
</hbox>
<hbox>
</hbox>
</vbox>
</window>
"
Sur chaque ligne je vais devoir indiquer ce que je veux afficher. Et pour afficher une icône avec un titre pour lancer une application il faut l'ensemble de ce qui suit entre ma balise <hbox></hbox> :
Code: Select all
<vbox>
<frame $LABEL1>
<button>
<input file>$ICON1</input>
<action>$EXEC1 &</action>
<action type=\"exit\">exit</action>
</button>
</frame>
</vbox>
Vous reconnaissez les intitulés du fichier Appli.conf : ici j'ai donc défini une icône qui va lancer rox. Si je veux une autre icône sur la même ligne j'ajoute exactement la même chose dessous et je mets à jour en fonction du contenu du fichier Appli.conf.
La ligne
Code: Select all
<action type=\"exit\">exit</action>
Indique que la fenêtre se ferme dès que j'ai cliqué : si on veut que la fenêtre reste affichée il faut supprimer cette ligne.
Ici je ne vais mettre qu'une icône par ligne ce qui va me donner :
Code: Select all
<hbox>
<vbox>
<frame $LABEL1>
<button>
<input file>$ICON1</input>
<action>$EXEC1 &</action>
<action type=\"exit\">exit</action>
</button>
</frame>
</vbox>
</hbox>
<hbox>
<vbox>
<frame $LABEL2>
<button>
<input file>$ICON2</input>
<action>$EXEC2 &</action>
<action type=\"exit\">exit</action>
</button>
</frame>
</vbox>
/hbox>
<hbox>
<vbox>
<frame $LABEL3>
<button>
<input file>$ICON3</input>
<action>$EXEC3 &</action>
<action type=\"exit\">exit</action>
</button>
</frame>
</vbox>
</hbox>
J'ai donc maintenant une barre d'icônes placées verticalement.
Il me reste une ligne : j'avais 4 balises <hbox></hbox>.
Cette ligne va être utilisée pour placer les boutons « Changer les entrées » et « Sortie ».
Chaque balise <button></button> Constituant un bouton :
Code: Select all
<hbox>
<button>
<label>Changer les entrées</label>
<action>geany /root/my-applications/bin/Appli.conf</action>
<action>/root/my-applications/bin/Appli.conf &</action>
</button>
<button>
<label>Sortie</label>
<input file> /usr/share/wbar/wbar.icons/outils.gif</input>
<action type=\"exit\">exit</action>
</button>
</hbox>
Le premier bouton lance geany pour éditer le fichier Appli.conf. La ligne
Code: Select all
<action type=\"exit\">exit</action>
N'est pas présente dans la balise ce qui implique que la fenêtre reste affichée après un clique sur le bouton.
Pour le deuxième bouton c'est par contre la seule ligne « action » présente puisqu'il s'agit uniquement de quitter.
Le script complet :
Code: Select all
#!/bin/sh
# AppStarter 1.2
#
# Copyright 2010 puppymartin www.browserlinux.com
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
# MA 02110-1301, USA.
# version 1.1 - added config file
# version 1.2 - removed the menu: memory problems in JWM
. /root/my-applications/bin/Appli.conf
export MAIN_DIALOG="
<window title=\"Centre de contrôle\" icon-name=\"gtk-preferences\" window-position=\"2\">
<vbox>
<hbox>
<vbox>
<frame $LABEL1>
<button>
<input file>$ICON1</input>
<action>$EXEC1 &</action>
<action type=\"exit\">exit</action>
</button>
</frame>
</vbox>
</hbox>
<hbox>
<vbox>
<frame $LABEL2>
<button>
<input file>$ICON2</input>
<action>$EXEC2 &</action>
<action type=\"exit\">exit</action>
</button>
</frame>
</vbox>
/hbox>
<hbox>
<vbox>
<frame $LABEL3>
<button>
<input file>$ICON3</input>
<action>$EXEC3 &</action>
<action type=\"exit\">exit</action>
</button>
</frame>
</vbox>
</hbox>
<hbox>
<button>
<label>Changer les entrées</label>
<action>geany /root/my-applications/bin/Appli.conf</action>
<action>/root/my-applications/bin/Appli.conf &</action>
</button>
<button>
<label>Sortie</label>
<input file> /usr/share/wbar/wbar.icons/outils.gif</input>
<action type=\"exit\">exit</action>
</button>
</hbox>
</vbox>
</window>
"
gtkdialog3 --program=MAIN_DIALOG
unset MAIN_DIALOG
exit;
Il suffit donc maintenant d'insérer dans wbar une icône qui exécute le script Appli.sh pour faire afficher notre barre de 3 icônes disposée verticalement : c'est ce que l'on a vu au début du post.
Il faut rendre le fichier Appli.sh exécutable en cliquant droit dessus et en cochant les 3 cases « exécuter ».
Il suffit parmi ces 3 icônes de demander par exemple l'exécution d'un script Appli2.sh configuré pour faire fonctionner un autre groupe d'applications pour lancer une nouvelle barre d'icônes.... comme un sous menu.
Philippe