Aller au contenu

[résolu] Fluxbox - changement de fond d'écran


FiP_

Messages recommandés

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"

Lien vers le commentaire
Partager sur d’autres sites

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 :cartonrouge:

Lien vers le commentaire
Partager sur d’autres sites

oui, l'idée est bonne, envoie le patch aux devs, je penses qu'ils incluront :yes:

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.

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...