Accéder aux dossiers de root à l'aide d'un menu ae

Post Reply
Message
Author
musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

Accéder aux dossiers de root à l'aide d'un menu ae

#1 Post by musher0 »

Bonjour à toutes et à tous !

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
Maintenant, cliquez sur root-rep.sh. Le menu ae se construira automatiquement et
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 ###
Les critiques constructives seront bien accueillies.
À 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 !!!
Attachments
root-rep.sh.zip
(1.2 KiB) Downloaded 129 times
menu-ae-de-dossiers-pour-root-3.jpg
(43.99 KiB) Downloaded 152 times
menu-ae-de-dossiers-pour-root-2.jpg
(38.09 KiB) Downloaded 160 times
menu-ae-de-dossiers-pour-root-1.jpg
(33.91 KiB) Downloaded 191 times
Last edited by musher0 on Wed 12 Jun 2013, 15:14, edited 3 times in total.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#2 Post by musher0 »

Réservé pour développement ultérieur.
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

Pelo

Tenté mais échoué

#3 Post by Pelo »

je re-essairai, j'ai tout mon temps maintenant.
J'ai créé un répertoire Musher en root, y ai déballé le zip, j'ai copié collé en console u+rwx root-rep.sh . La console me repond commande not found. :?
répertoire sda1 : répertoire de boot Windows !
j'ai dû sauter une étape, ya rien dans les dossiers....
Bonne journée, pilote émérite pour VIPuspistophiles

musher0
Posts: 14629
Joined: Mon 05 Jan 2009, 00:54
Location: Gatineau (Qc), Canada

#4 Post by musher0 »

Wow ! Nommer un répertoire en mon nom ! C'est trop d'honneur ! :P
À quand une rue ? :lol:

Mais comme c'est pas un répertoire courant comme ceux définis dans le chemin $PATH,
il faut que tu tapes ./root-rep.sh. (point et diagonale avant le nom de la commande).

Il faut aussi que l'utilitaire aemenu soit dans un des répertoires définis dans le chemin $PATH. Tapes "which aemenu" pour savoir si tu l'as. Si tu ne l'as pas, je t'en copierai un ici.

Tourlou.

musher0

PS. Et puis... tiens, voici une copie d'aemenu. Ça m'économisera un voyage !
Attachments
aemenu.zip
Notre fidèle aemenu !
(7.19 KiB) Downloaded 106 times
musher0
~~~~~~~~~~
"You want it darker? We kill the flame." (L. Cohen)

Post Reply