lang fr|gb

utiliser dmenu

dmenu est un menu dynamique pour X entièrement controlé depuis le clavier. il est disponible pour toutes les distributions GNU/Linux. dmenu est ultra-léger, rapide, et est développé par suckless.org comme dwm.
chez Debian, il fait parti du paquet suckless-tools.

dmenu se lance simplement grâce à la commande dmenu_run et liste les applications et scripts inclus dans $PATH. voici son affichage par défaut:
note: une fois dmenu lancé, le clavier est gelé pour les autres applications: pour annuler dmenu, presser ESC.

les scripts intégrés au livarp:

livarp intègre dmenu et quelques scripts utiles situé dans votre dossier /usr/local/bin/:

dmenu-bind.sh

c'est le sript d'utilisation classique de dmenu, celui qui vous permet de lancer simplement vos applications

#!/bin/bash
exe=`dmenu_path | dmenu -b -fn "snap" -nb '#222222' -nf '#7D7D7D' -sb '#005885' -sf '#BFBFBF' -p 'exec:'` && eval "exec $exe"

utilisation: lancer dmenu-bind.sh depuis un rassourcis clavier (selon votre session) puis commencer à taper le nom d'une application; la liste se met à jour au fur et à mesure, vous pouvez lors, taper le nom en entier ou circuler entre les propositions de dmenu avec les flèches de votre clavier. presser Enter pour lancer l'application sélectionnée.

dmenu-home.sh

ce script vous permet de lister (avec la commande ls) votre dossier utilisateur et d'ouvrir ou afficher le fichier/dossier sélectionné avec rox-filer.

#!/bin/bash
loc=`ls -A $HOME | dmenu -b -fn "snap" -nb '#222222' -nf '#7D7D7D' -sb '#005885' -sf '#D7D7D7' -p 'goto/open/edit: '` && eval "rox $loc"

utilisation: lancer dmenu-home.sh depuis un raccourcis clavier (selon votre session) puis commencer à taper le nom d'un fichier ou dossier, il ne vous reste plus qu'à choisir dans les propositions de dmenu. presser Enter pour ouvrir/éditer/afficher le fichier/dossier sélectionné.

dmenu-quit.sh

ce script est une alternative à shutdown.sh et permet de lancer des actions sur votre machine

#!/bin/bash
# a simple logout dialog
choice=`echo -e "0: Cancel\n1: Logout\n2: Shutdown\n3: Reboot\n4: Lock" | dmenu -b -fn "snap" -nb "#222222" -nf "#7D7D7D" -sb "#7D7D7D" -sf "#222222" -p "select an action:" | cut -d ':' -f 1`
# execute the choice in background
case "$choice" in
0) exit ;;
1) xdotool key Ctrl+Alt+BackSpace & ;;
2) sudo shutdown -h now & ;;
3) sudo shutdown -r now & ;;
4) xscreensaver-command -lock & ;;
esac

utilisation: lancer dmenu-quit.sh depuis un raccourcis clavier (selon votre session) puis taper un n° ou circuler entre les propositions de dmenu. presser Enter pour valider l'action sélectionnée.

 

autres scripts utiles

dmenu-wall.sh

ce script liste les images situées dans 'WALLDIR' et affiche l'image sélectionnée en fond d'écran:

#!/bin/bash
WALLDIR=$HOME/pics/walls
wall=`ls -A $WALLDIR | dmenu -b -fn "-*-fixed-*-*-*-*-10-70-*-*-*-*-*-*" -nb '#222222' -nf '#7D7D7D' -sb '#7D7D7D' -sf '#222222' -p 'set as wall:'` && eval "feh --no-xinerama --bg-scale $WALLDIR/$wall"

dmenu-todo.sh

ce script sert de pense-bête: vous écrivez, il rajoute une tâche. vous sélectionnez, il efface la tâche:

#!/bin/sh
## script pour gérer les différentes tâches à  faire avec dmenu.
## sources: 
# variables utilisées pour dmenu
SB="#7D7D7D"
SF="#222222"
NB="#222222"
NF="#7D7D7D"
FN="-*-fixed-*-*-*-*-10-70-*-*-*-*-*-*"
FILE=~/.todo
SCRIPT=~/bin/dmenu-todo.sh 
HEIGHT=$(cat $FILE | wc -l)
PROMPT="write:add | select:del > "
 
ACTION="cat $FILE | dmenu -fn $FN -l '$HEIGHT' -nb '$NB' -nf '$NF' -sb '$SB' -sf '$SF' -p '$PROMPT:' "
CMD=$(eval $ACTION)
while [ -n "$CMD" ]; do
	grep -q "^$CMD" $FILE
	if [ $? = 0 ]; then
		grep -v "^$CMD" $FILE > /tmp/todo
		mv /tmp/todo $FILE
	else
		echo "$CMD" >> $FILE
		exec $SCRIPT && exit 7
	fi
 
	CMD=$(eval $ACTION)
 
done
exit 0

dmenu-launch.sh

ce sript lance vos scripts personnels contenus dans 'DIR':

#!/bin/sh
# minimal launcher with dmenu
DIR=$HOME/bin/skin_switchers
skin=`ls -1 $DIR | dmenu -b -fn '-*-fixed-*-*-*-*-10-70-*-*-*-*-*-*' -nb '#222222' -nf '#7D7D7D' -sb '#7D7D7D' -sf '#222222' -i -p 'skins: '` && eval "exec $DIR/$skin"

 

les options de dmenu:

option  argument    description
-b                  affiche dmenu en bas de l'écran.
-i                  dmenu prend la casse en compte.
-l      digit 	    dmenu affiche le menu verticalement avec le nombre de ligne passé en argument.
-p      texte 	    defini le texte à afficher à gauche de l'écran.
-fn     font 	    police utilisée.
-nb     #RRGGBB     couleur du fond.
-nf 	#RRGGBB     couleur du texte.
-sb 	#RRGGBB     couleur du fond sélectionné.
-sf 	#RRGGBB     couleur du texte sélectionné.
-v                  affiche la version de dmenu.

 

liens: la page officielle du site, l'excellent blog de thuban.

centre d'aide livarp_0.4 - arpinux@2013 - sources