WMFS, acte II : Lancement d’applications à l’ouverture d’une session
Après avoir vu comment installer WMFS, voici un petit billet qui vous indiquera la marche à suivre pour lancer des applications lors de l’ouverture de votre session.
How to :
Afin d’arriver à ce résultat deux solutions existent :
Via xinitrc :
La méthode est simple et pour le moins universelle, c’est celle que j’utilise actuellement :
$ nano ~/.xinitrc
#!/bin/sh exec ck-launch-session dbus-launch wmfs & wmpid=$! parcellite -n & volumeicon & feh --bg-scale ~/.wallpaper/029-wall.png & wait $wmpid
Évidement, on n’oublie pas de rendre exécutable le script :
$ chmod +x ~/.xinitrc
Via autostart.sh :
Si vous êtes utilisateurs d’OpenBox vous connaissez très certainement le fichier autostart.sh. Pour ceux qui ne le savent pas, il ‘s’agit d’un simple script bash où sont inscrites les applications à lancer. Et bien sachez que sous WMFS, il est possible de faire à peut prêt la même chose .
Créez tout d’abord le fichier autostart.sh en le rendant par la même occasion exécutable :
$ touch ~/.config/wmfs/autostart.sh
$ chmod +x ~/.config/wmfs/autostart.sh
À présent, il suffit de faire appel à ce script dans la section [root] :
$ nano ~/.config/wmfs/wmfsrc
[root] # Command you can execute to set the background. background_command = "~/.config/wmfs/autostart.sh" [mouse] button = "4" func = "tag_next" [/mouse] [mouse] button = "5" func = "tag_prev" [/mouse] [mouse] button = "3" func = "menu" cmd = "rootmenu" [/mouse] [/root]
Contrairement au fichier .xinitrc, il ne faut pas bêtement indiquer les applications à lancer… Pourquoi ? Tout simplement car lorsque WMFS est rechargé, c’est l’ensemble qui l’est, y compris le fichier autostart.sh !
Vous vous retrouverez alors avec plusieurs instances de vos applications, ce qui est assez désagréable.
Voilà donc comment faire :
$ nano ~/.config/wmfs/autostart.sh
#!/bin/sh if [ -z $(pidof parcellite) ]; then parcellite -n & fi if [ -z $(pidof volumeicon) ]; then volumeicon & fi feh --bg-scale ~/.wallpaper/029-wall.png &
Petite explication :
- L’opérateur de comparaison -z vérifie si la chaîne de caractères est vide.
- La commande pidof recherche les numéros de processus ( PID ) portant le nom du programme indiqué.
Voici la syntaxe :
if [ -z $(pidof nom_du_programme) ]; then nom_du_programme & fi
Littéralement, la syntaxe serait la suivante :
si [ Le PID prog n'existe pas ] ; alors prog est lancé & fin de la condition
Il ne vous reste plus qu’a choisir la méthode qui vous convient le mieux !