Voici un script que je trouve plutôt commode. À mon sens, cette approche par menu est beaucoup plus
efficace et précise que de simplement cliquer sur l'icône de la "maison" pour faire apparaître la totalité de /root
dans le ROX-Filer. Pour ma part, j'ai même remplacé la "maison" en question par ce script.
Le script est expliqué dans le script. C'est beau, la récursivité,hein !
Je pense y avoir mis toutes les infos nécessaires à l'usage.
J'ai aussi testé ce script à fond.
Si vous avez des questions, revenez-moi.
Astuce -- Effacer les dossiers cachés vides ou inutilisés si une des listes est trop longue.
Mode d'emploi :
Déballer le zip dans un dossier pertinent (celui de votre gestionnaire de fenêtres, par exemple), puis
rendre le script déballé exécutable en allant dans le répertoire de destination et en tapant sous console :
Code: Select all
u+rwx root-rep.sh
apparaîtra à l'écran tout à côté de votre curseur.
Code: Select all
#!/bin/sh
# Placer dans :
# /root/.pekwm/root-rep.sh (si pekwm est votre gestionnaire de fenêtres)
# /root/my-applications/bin/root-rep.sh (sinon)
#
# Objectif : crée un menu ae à jour pour accéder facilement aux
# dossiers cachés et apparents dans /root
#
# Dépendances : aemenu, ROX-Filer
#
# S'intègre bien dans un menu aewm, (lxp-)icewm, pekwm ou wmx, ou
# bien à un menu jwm si on crée un fichier *.desktop pour le présent script.
# Peut aussi être lié à une icône signifiante sur le bureau.
#
# (c) musher0, 11 juin 2013
####
# set -xe # Pour déboguer
function rootrep
{
ls -d1 /root/.[01234AaBbCcDdEeFfGgHhIiJjKkLl]*/ | cut -d/ -f3 | sort > /tmp/caches1.lst
ls -d1 /root/.[56789MmNnOoPpQqRrSsTtUuVvWwXxYyZz]*/ | cut -d/ -f3 | sort > /tmp/caches2.lst
ls -d1 /root/*/ | cut -d/ -f3 | sort > /tmp/apparents.lst
echo "cmd \"Dossiers dans 'root'\" \"\"" > /tmp/rep-root
echo "cmd \"~~~~~~~~~~~~~~~\" \"/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root
echo "menu \"Apparents\"" >> /tmp/rep-root
echo "cmd \"~~~~~~~\" \"/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root
for i in `cat /tmp/apparents.lst`;do
echo "cmd \"$i\" \"rox /root/$i;/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root
done
echo "cmd \"~~~~~~~\" \"/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root
echo end >> /tmp/rep-root
echo "menu \"Cachés, .. à L\"" >> /tmp/rep-root
echo "cmd \"..\" \"rox ..;/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root # Ouvre "/" (sommet)
echo "cmd \".\" \"rox .;/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root # Ouvre "~" (/root)
echo "cmd \"~~~~~~~\" \"/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root
for i in `cat /tmp/caches1.lst`;do
echo "cmd \"$i\" \"rox /root/$i;/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root
done
echo "cmd \"~~~~~~~\" \"/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root
echo end >> /tmp/rep-root
echo "menu \"Cachés, m à Z\"" >> /tmp/rep-root
echo "cmd \"~~~~~~~\" \"/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root
for i in `cat /tmp/caches2.lst`;do
echo "cmd \"$i\" \"rox /root/$i;/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root
done
echo "cmd \"~~~~~~~\" \"/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root
echo end >> /tmp/rep-root
echo "cmd \"~~~~~~~~~~~~~~~\" \"/root/.pekwm/rep-root.sh\"" >> /tmp/rep-root
# Pour pouvoir lancer le menu directement d'une console :
echo "/root/my-applications/ae/aemenu -rc /tmp/rep-root" > /root/.pekwm/rep-root.sh
chmod u+rwx /root/.pekwm/rep-root.sh
/root/.pekwm/rep-root.sh # <= Utiliser cette commande pour lancer d'une console
# ............................. SEULEMENT SI vous êtes sûr(e) que la liste des dossiers dans /root
# .................................................. n'a pas changé depuis le dernier lancement !
# ................................................... En cas de doute, relancez le présent script !
#
}
cd ~
if [ -f /root/precedent ] && [ "`du -c /root | grep total | cut -d\t -f1`" = "`cat /root/precedent`" ];then
/root/.pekwm/rep-root.sh &
else
du -c /root | grep total | cut -d\t -f1 > /root/precedent
rootrep
fi
rm /tmp/caches*.lst
rm /tmp/apparents.lst
# set +xe # Fin du débogage
### 30 ###
À la bonne vôtre !
musher0
PS Ajouté un sous-titre soulignant que ce menu est en fait un menu dynamique. S'il n'en a pas l'air, c'est parce que son auteur a jamais été bien bon en publicité !!!
Un menu dynamique, donc : l'applet équivalent dans le panneau lxpanel a désormais un rival !!!