FiP_ Posté(e) le 18 avril 2007 Posté(e) le 18 avril 2007 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"
Daemonium Posté(e) le 20 avril 2007 Posté(e) le 20 avril 2007 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 :)
FiP_ Posté(e) le 20 avril 2007 Auteur Posté(e) le 20 avril 2007 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. :)
Daemonium Posté(e) le 20 avril 2007 Posté(e) le 20 avril 2007 Ben poste le script ici, on sait jamais
FiP_ Posté(e) le 20 avril 2007 Auteur Posté(e) le 20 avril 2007 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
Daemonium Posté(e) le 20 avril 2007 Posté(e) le 20 avril 2007 Joli ! Ben hésites pas, c'est une amélioration fort utile je pense :)
lorinc Posté(e) le 20 avril 2007 Posté(e) le 20 avril 2007 oui, l'idée est bonne, envoie le patch aux devs, je penses qu'ils incluront
FiP_ Posté(e) le 20 avril 2007 Auteur Posté(e) le 20 avril 2007 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.
tuXXX Posté(e) le 20 avril 2007 Posté(e) le 20 avril 2007 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"
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.