Un autre pour se déplacer dans l’arborescence du système
dans toutes les directions en un clin d’oeil.
Encore une fois avec ls et dmenu,
il ne liste que les répertoires, je l’ai donc appelé lsd (ça aurait aussi pu être pour la contraction de ls et dmenu)
#!/bin/sh
prompt=Liste
action=cd
index=`ls -d */ -d .*/ -U | dmenu -p "$prompt: $PWD" -i`
[ -z $index ]
if [ $? = 1 ]; then
$action $index && lsd ; else
actions
fi
Tel quel, il part du répertoire utilisateur si lié à un raccourci clavier
et du répertoire courant si lancé depuis un terminal.
Les trois minis-scripts suivants lui donnent un peu plus de souplesse :
racine :#!/bin/sh
cd / && lsd ;
actions
home :#!/bin/sh
cd ~ && lsd ;
actions
parent :#!/bin/sh
cd .. && lsd ;
actions
Une fois arrivé dans le répertoire désiré, on appuie sur échappe,
ce qui nous fait directement passer au menu “actions”
Le script “actions”, que l’on voit dans tous les autres depuis le début
et qui fait le lien entre les scripts précédents et, comme son nom l’indique, les actions :#!/bin/sh
prompt=Lance
index=`ls ~/scripts/actions | dmenu -p "$PWD $prompt:"`
[ -z $index ]
if [ $? = 1 ]; then
exec $index&
fi
Dans le répertoire ~/scripts/actions,
j’ai mis des liens vers des scripts que j’ai placé dans ~/bin :
Pour commencer, tous les scripts d’au dessus, ( sauf “actions”, je ne vais pas faire un menu qui s’appelle lui-même directement…) plus quelques autres que l’on va voir en dessous.
admin_edite :#!/bin/sh
sudo edite;
actions
avec “edite” qui est le script du premier post de la page.
html :
Comme son nom l’indique,
pour visualiser des fichiers html et consorts
attention pour que ce script fonctionne,
il faut que dmenu soit patché avec ça #!/bin/sh
prompt=affiche
action=iceweasel
index=`ls *.html *.xhtml *.htm | dmenu -i -l 59 -p "$prompt: $PWD/"`
[ -z $index ]
if [ $? = 1 ]; then
$action $index; else
actions
fi
un autre pour visualiser les docs html,
ii : #!/bin/sh
iceweasel index.html&
retouche_image :
#!/bin/sh
index=`ls *.png *.jpg *.jpeg *.gif *.bmp *.tiff | dmenu -i -p "gimp: $PWD/"`
[ -z $index ]
if [ $? = 1 ]; then
gimp $index
fi
visualise_image :
le même que retouche_image sauf que j’ai remplacé gimp par un visionneur d’image léger.
net :
#!/bin/sh
index=`ls ~/scripts/web | dmenu -p "Lance:"`
[ -z $index ]
if [ $? = 1 ]; then
exec $index
fi
avec dans le répertoire ~/scripts/web, des liens vers des scripts situés
dans ~/bin et de la forme : #!/bin/sh
iceweasel www.debian-fr.org/
par exemple.
stream :
comme net, avec ~/scripts/stream à la place de ~/scripts/web et des scripts de la forme
#!/bin/sh
urxvt -e streamripper http://radio.freeundergroundtekno.org:8018 -r -d ~/musique/tmp
actions
php :
doit être patché comme html pour fonctionner.
#!/bin/sh
prompt=affiche
action=iceweasel
index=`ls *.php | dmenu -i -l 59 -p "$prompt:"`
[ -z $index ]
if [ $? = 1 ]; then
$action http://localhost/$index; else
actions
fi
playlist :
j’en ai déjà parlé dans un autre fil,
mais bon autant que je le remette avec les autres.
comme html et php, nécessite d’être patché afin de s’aficher verticalement.
#!/bin/sh
index=`mpc playlist | dmenu -i -l 59 -p "Joue:" | cut -c 2- - | cut -d")" -f1 -`
[ -z $index ]
if [ $? = 1 ]; then
mpc play $index
actions
fi
.
et bien sûr,
terminal :
#!/bin/sh
urxvt;
actions
admin :
#!/bin/sh
sudo urxvt;
actions
et quelques autres plus ou moins utiles mais totalement indispensables…
Tous ces scripts sont minuscules, mais mis ensemble…
Il m’arrive que le script “actions” reprennent la main juste après que j’ai lancé une action,
et monopolise la saisie clavier, il suffit d’appuyer sur échappe
pour redonner l’attention à la tâche en cours.
Tant qu’on y est, ça me ferait plaisir d’avoir le retour de ceux qui testent.