N-PN White-Hat Project
[Bash] explorer son /home dans un pipemenu Openbox - Version imprimable

+- N-PN White-Hat Project (https://dev.n-pn.fr/forum)
+-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72)
+--- Forum : Langages interprétés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=27)
+--- Sujet : [Bash] explorer son /home dans un pipemenu Openbox (/showthread.php?tid=3389)



[Bash] explorer son /home dans un pipemenu Openbox - supersnail - 28-10-2013

Salut à tous,

Vu que je m'ennuyais un peu ce matin, j'ai eu l'idée (enfin j'ai repiqué l'idée d'un mec sur /wg/) de faire un pipemenu qui liste le contenu du répertoire personnel (ou de n'importe quel autre répertoire en fait), permettant d'explorer récursivement les sous-dossiers et d'ouvrir un fichier (via xdg-open).

Bref le tout est codé en bash (la flemme de sortir python/perl pour coder un script aussi "bête"), et utilise la commande "recode" pour générer les entités xml pour &, ' et ".

Bref pour ceux que ça intéresse, voilà la bête Smile

Code BASH :
#!/usr/bin/bash
dir=""
files=""
IFS=$'\t\n'
parent=$(recode utf-8..xml <<< $1)
echo "<openbox_pipe_menu>"
echo "  <item label=\"Browse\"><action name=\"Execute\"><execute>nemo '$parent'</execute></action></item>"
for i in $(ls $1); do
    i2=$(recode utf-8..xml <<< $i)
    if [ -d "$1/$i" ] ; then
    dir="$dir  <menu label=\"$i2\" id=\"$(md5sum <<< "$1/$i2" | cut -d \  -f 1)\" execute=\"$0 '$parent/$i2'\"/>"
    else
    files="$files  <item label=\"$i2\"><action name=\"Execute\"><execute>xdg-open '$parent/$i2'</execute></action></item>"
    fi
done
if [ -n "$dir" ]; then
    echo "  <separator />"
    echo $dir
fi
if [ -n "$files" ]; then
    echo "  <separator />"
    echo $files
fi
echo "</openbox_pipe_menu>"


Bien sûr libre à vous de remplacer "nemo" par l'explorateur de votre choix ou utiliser gvfs-open à la place de xdg-open Wink

Edit: comme réclamé sur IRC, un exemple de rendu:
[Image: pDb94ajl.png]


RE: [Bash] explorer son /home dans un pipemenu Openbox - gruik - 28-10-2013

fonky Smile


RE: [Bash] explorer son /home dans un pipemenu Openbox - thxer - 28-10-2013

Merci ! Smile