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 !

Liens :

Dans la même catégorie :

Vus : 1429
Publié par Weedfast : 184