Posté(e) le 18 avril 200718 a Bonsoir à tous, je me suis recement remis à linux, avec une debian (testing) et fluxbox. J'ai un petit soucis dans fluxbox, en ce qui concerne les fonds d'écran : - j'ai un dossier "WALLPAPERS", où sont stockées toutes les jolies images qui font la bonne taille - pour changer de fond d'écran, je fait : fbsetbg -r /mnt/auto/winD/WALLPAPERS - parfois, j'obtient un message d'erreur en faisant cette commande. En effet, le dossier WALLPAPERS contient des sous dossiers. Quand fbsetbg tombe par hasard sur un nom de dossier dans WALLPAPERS, au lieu d'un fichier image, forcement ça ne marche pas. Existe t il un moyen (astuce / script / option de fbsetbg que j'aurais manquée) pour que fbsetbg choisisse une image au hasard dans WALLPAPERS, ainsi que dans tous ses sous dossiers ? edit: ajouté "[résolu] au titre" Modifié le 20 avril 200718 a par FiP_
Posté(e) le 20 avril 200718 a Au bol : fbsetbg -r /mnt/auto/winD/WALLPAPERS/*/*.png /mnt/auto/winD/WALLPAPERS/*/*.jpg /mnt/auto/winD/WALLPAPERS/*.png /mnt/auto/winD/WALLPAPERS/*.jpg Mais je connais pas vraiment le système, donc c'est à essayer quoi :)
Posté(e) le 20 avril 200718 a Auteur Malheureusement ça ne marche pas.. fbsetbg c'est un script, je suppose que je vais devoir le modifier pour qu'il sache gérer les sous dossiers. Merci en tout cas. :)
Posté(e) le 20 avril 200718 a Auteur Ok c'est résolu (a peu près) J'ai trouvé, dans fbsetbg, la partie qui choisi un fichier au hasard : # random wallpaper code if [ "$option" = random ]; then # Lets make one thing clear... wallpaperdir=$wallpaper if [ -z "$wallpaperdir" ]; then message "No random wallpaper directory specified." exit 1 fi if [ -d "$wallpaperdir" ]; then number_of_wallpapers=`ls $wallpaperdir|wc -l` if find_it random_number; then randomnumber=$(random_number) # some shells don't support $RANDOM elif [ -z $RANDOM ]; then randomnumber=`(echo $$;time ps; w; date )2>&1 | cksum | cut -f1 -d' '` else randomnumber=$RANDOM fi wallpapernumber=`expr $randomnumber % $number_of_wallpapers + 1` #remember previous wallpaper if [ ! "$remember" = false ]; then remembercommand fi remember=false #set -x wallpaper="$wallpaperdir/`ls $wallpaperdir|sed -n ${wallpapernumber}p`" option='$aspect' # have to choose something... else message "Invalid random wallpaper directory specified." exit 1 fi fi J'ai copié fbsetbg dans un "fbsetbg-manu", et j'ai rajouté ça : (...) remember=false #set -x wallpaper="$wallpaperdir/`ls $wallpaperdir|sed -n ${wallpapernumber}p`" option='$aspect' # have to choose something... if [ -d "$wallpaper" ]; then fbsetbg -r $wallpaper exit 0 fi else message "Invalid random wallpaper directory specified." exit 1 fi C'est assez simple en fait, je teste si le "fichier" qu'il a choisi au hasard est un dossier, et si oui je relance le script sur ce dossier là. Qu'en pensez vous ? Ce qui m'ennuie, c'est que si fbsetbg est mis à jour je devrais le refaire. Je devrais peut être proposer cet ajout sur le forum de fluxbox
Posté(e) le 20 avril 200718 a oui, l'idée est bonne, envoie le patch aux devs, je penses qu'ils incluront
Posté(e) le 20 avril 200718 a Auteur oui, l'idée est bonne, envoie le patch aux devs, je penses qu'ils incluront Ok j'en ai parlé ici: http://sourceforge.net/forum/message.php?msg_id=4272069 (pour ceux que ça intéresse ^^) Edit : a zut je viens de me rendre compte que j'ai mis "fbsetbg -r $wallpaper" au lieu de "fbsetbg-manu -r $wallpaper" (la version modifiée). Ce qui signifie que s'il y a des sous-sous-dossiers, ça pourrait faire un message d'erreur encore. Mais bon c'est rapide à changer.
Posté(e) le 20 avril 200718 a Ok j'en ai parlé ici: http://sourceforge.net/forum/message.php?msg_id=4272069 (pour ceux que ça intéresse ^^) Je te propose "exit $?" à la place du "exit 0" après "fbsetbg -r $wallpaper"
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.