Page 1 sur 1

[ASTUCES] Fond d’écran changeant sous gnome

Publié : mar. 04 janv. 2011, 18:17
par juice
Pour ceux qui, sous gnome, veulent avoir un papier peint de bureau qui change régulièrement il existe un moyen d’y parvenir sans rien installer en plus.

Dans le menu Système -> Préférences -> Apparence, onglet Arrière-plan il existe déja un fond d’écran animé appelé cosmos. En fait il s’agit d’un ensembles d’images jpg dans le répertoire /usr/share/backgrounds/cosmos/ accompagné d’un fichier background-1.xml qui dit à gnome comment réaliser l’animation.

Conclusion pour peu que vous ayez votre dossier d’images à disposition, la seule difficulté consiste à créer le .xml

Voici un petit script que j’ai fait en m’inspirant d’un autre (voir références plus bas) qui parcourt le répertoire d’images et génère le fichier xml.

Code : Tout sélectionner

#!/bin/bash
# This script creates xml files that can act as dynamic wallpapers for Gnome by
# referring to multiple wallpapers.
# Inspired from David J Krajnik aka Sildoreth's script and coded by Jean-Christophe Charrier

# xml file name
XMLFILE=$(basename `pwd`).xml

# 2 arrays for images and transitions
TAB1=( `ls -1 --hide=*.[xX][mM][lL]` )
TAB2=( `ls -1 --hide=*.[xX][mM][lL] --hide=${TAB1[0]}` ${TAB1[0]})

# count init
i=0

if [[ $1 = +([0-9]) ]] &&  [[ $2 = +([0-9]) ]]
	then
		echo "<background>" > $XMLFILE
		echo -e "\t<starttime>\n\t\t<year>2011</year>\n\t\t<month>01</month>\n\t\t<day>01</day>" >> $XMLFILE;
		echo -e "\t\t<hour>00</hour>\n\t\t<minute>00</minute>\n\t\t<second>00</second>\n\t</starttime>" >> $XMLFILE;
		echo "<!-- This animation will start at midnight. -->" >> $XMLFILE;
		
		for f in `ls -1 --hide=*.[xX][mM][lL]`
		do
			echo -e "\t<static>\n\t\t<duration>$1.0</duration>\n\t\t<file>$PWD/${TAB1[$i]}</file>\n\t</static>" >> $XMLFILE;
			echo -e "\t<transition>\n\t\t<duration>$2.0</duration>\n\t\t<from>$PWD/${TAB1[$i]}</from>\n\t\t<to>${TAB2[$i]}</to>\n\t</transition>" >> $XMLFILE;
			let i=i+1
		done
		
		echo "</background>" >> $XMLFILE;
	else
		echo "usage: mkwlppr <duration-in-sec> <transition-in-sec>"
		echo "Images are scaned in the current directory."
		echo "Only bmp,gif,jpeg,png and tiff files."
		echo "No spaces in names please."
fi
Bien sur pour si vous êtes allergiques au bash il reste la possibilité d’installer Desktop Drapes ;)


Références :

http://www.linuxjournal.com/content/cre ... 28-desktop
http://www.justlinux.com/forum/showthread.php?t=71780
http://abs.traduc.org/abs-fr/index.html

Re: [ASTUCES] Fond d’écran changeant sous gnome

Publié : jeu. 06 janv. 2011, 23:34
par juice
Quelques petites améliorations et corrections…

Pour générer les images dans un ordre aléatoire à chaque lancement du script :

Code : Tout sélectionner

# 2 arrays for images and transitions in random order
TAB1=( `ls -1 --hide=*.[xX][mM][lL] | sort -R` )
TAB2=( ${TAB1[@]:1} ${TAB1[0]} )
C’est plus élégant…

Et un oubli de chemin absolu pour les images de transitions

Code : Tout sélectionner

<to>$PWD/${TAB2[$i]}</to>

Re: [ASTUCES] Fond d’écran changeant sous gnome

Publié : lun. 17 janv. 2011, 16:52
par Ennoia
Bonjour à tous

Dans le même genre, mais pour un changement à chaque nouvelle session :

Code : Tout sélectionner

#!/bin/bash
sleep 1
PICDIR=/path/to/wallpapers
PICNAMES=( $(find -L $PICDIR -type f) )
NUMBER=$RANDOM
MAXFILES=${#PICNAMES[@]}
PIC=${PICNAMES[ $(( NUMBER %=  MAXFILES ))]}
gconftool-2 --type string --set /desktop/gnome/background/picture_filename $PIC
puis Système/Préférences/Applications au démarrage/ajouter

Re: [ASTUCES] Fond d’écran changeant sous gnome

Publié : ven. 25 févr. 2011, 19:24
par le Manchot Masqué
Avec le style en plus (de http://ilkinbalkanay.blogspot.com/2008/ ... paper.html)

Code : Tout sélectionner

#!/bin/bash
STYLE=scaled # or tiled, zoom, etc
DIR="your wallpaper directory here"
counter=0;
IFS=$'\n'
for i in `find $DIR -iname *.jpg -o -iname *.png -o -iname *.gif`
do
pictures[$counter]="$i";
let counter=counter+1;
done
index=$((RANDOM%${#pictures[*]}));
gconftool-2 -t str --set /desktop/gnome/background/picture_filename ${pictures[$index]};
gconftool-2 -t str --set /desktop/gnome/background/picture_options $STYLE;

Re: [ASTUCES] Fond d’écran changeant sous gnome

Publié : mar. 08 mars 2011, 11:14
par Paul04
Je me suis fait plaisir et je fais mes premiers pas avec Linux et gnome. Donc merci pour vos petites astuces! :)

Re: [ASTUCES] Fond d’écran changeant sous gnome

Publié : jeu. 19 mai 2011, 20:30
par juice
Pour information, sous gnome 3 je n’ai pas réussi à lui faire lire ce fichier xml. Ma machine étant un peu vieille, je suis repassé à Xfce et un crontab -e avec la ligne ci dessous :

Code : Tout sélectionner

 */5 * * * * DISPLAY=:0.0 /usr/bin/xfdesktop --reload
marche nickel pour peu qu’on ait défini la liste d’image dans les préférences du bureau .