Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 08/05/2015, à 20:03

Coolaman

Script fond ecran aleatoire

Salut, de retour sur Xfce je vous propose un petit script sans prétention pour avoir un fond d'écran aléatoire à partir de vos photos . L'avantage de ce scipt est que lightdm suit le fond d'ecran de Xfce.

Le principe est de lier vos  photos dans un dossier dans lequel Xfce va piocher ses fonds d'ecran. La rotation des photos dans ce dossier est effectué par une tache cron toutes les 20 minutes dans l'exemple.

- sauvegarder le code ci-dessous ( sous le nom /home/$USER/wallp dans le script )
- créer votre repertoire de fond ecran ( ici /home/$USER/.wallp/ )
- configurer le script
- lancer le script sous la forme ./wallp
- dans le menu Xfce,  paramètre > bureau, choisir votre repertoire de fond d'écran et valider la première image et changer le fond écran toute les minutes
- dans un terminal, crontab -e et copier / coller la 4e ligne du script ( sans le # )

A adapter et améliorer par vos soins. ( la fonction resolution mini est pas terrible mais ca évite chez moi d'avoir des miniatures en fond d'ecran )

#!/bin/bash

# crontab -e toutes les 20 minutes :
#*/20 * * * * /home/$USER/wallp

photos_folder="/mnt/Archives/Images/Voyages/"    	# dossier de vos photos	
res_mini=1280						# Resolution mini des images 		
photos_number=20					# Nombre image dans le dossier
wallpaper_folder="/home/$USER/.wallp/" 			# dossier ou sera stocké votre serie de fond d'ecran pour XFCE

function wallp () {

rm "$wallpaper_folder"*
n=0

until [ $n -eq $photos_number ]
  do
	a=$(find "$photos_folder" -type f | shuf -n1)
	b=$(file "$a" | awk -F "x" '{ $1 = ""; print}' | cut -f1 -d,)
			if [ $b -ge $res_mini 2>/dev/null ] ; then n=$(($n+1)) ; ln -s "$a" "$wallpaper_folder"image_"$n".jpeg ; fi

done
}

case $1 in
	next) last_image=`xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorLVDS/workspace0/last-image`
		n=`echo "$last_image" | cut -f2 -d_ | cut -f1 -d.`;
			if [ $n -eq photos_number 2>/dev/null ] ; then n=1 ; else n=$((n+1)) ; wallp ; fi
				xfconf-query -v -c xfce4-desktop -p /backdrop/screen0/monitorLVDS/workspace0/last-image -s "$wallpaper_folder"image_$n.jpeg ;;

	open ) last_image=`xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorLVDS/workspace0/last-image`
		path=$(ls -l "$last_image" | awk -F"> " '{print $2}') ; exo-open "$path" ;;

	*) wallp ;;
esac

exit 0

Vous pouvez changer d'image en lancant avec un raccourci clavier ./wallp next et ouvrir l'image avec ./wallp open

Dernière modification par Coolaman (Le 09/05/2015, à 05:36)

Hors ligne

#2 Le 14/05/2015, à 06:10

Daebis

Re : Script fond ecran aleatoire

et sinon wallch tu n'aime pas ?


PS: Si quelqu'un constate une inexactitude dans ce message merci de m'en informer par Mail ou MP pour ne pas flooder le sujet actuel, je prends en compte toutes remarques constructive. Merci.
Installeur Ubuntu, Spécialisé avec Lubuntu (LXDE), exGamer, et utilisateur de M$
électricien, technicien du spectacle et apprenti menuisier =)
https://doc.ubuntu-fr.org/utilisateurs/daebis

Hors ligne