Quitter le forum et retourner au site

[ASTUCES] Fond d’écran changeant sous gnome

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.
Avatar de l’utilisateur
juice
Messages : 247
Inscription : dim. 29 juin 2008, 10:06
Distribution : Archlinux
Niveau : Confirmé
Localisation : Oberentzen

[ASTUCES] Fond d’écran changeant sous gnome

Message 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
Avatar de l’utilisateur
juice
Messages : 247
Inscription : dim. 29 juin 2008, 10:06
Distribution : Archlinux
Niveau : Confirmé
Localisation : Oberentzen

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

Message 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>
Avatar de l’utilisateur
Ennoia
Messages : 138
Inscription : jeu. 29 mai 2008, 13:09
Distribution : ArchLinux
Niveau : Indépendance et débugage
Localisation : Oberentzen

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

Message 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
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
Messages : 722
Inscription : lun. 26 mai 2008, 21:05
Distribution : Debian, Ubuntu
Niveau : Moitié plein !
Localisation : Guebwiller

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

Message 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;
Paul04
Messages : 6
Inscription : lun. 07 févr. 2011, 17:04
Niveau : Débutant

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

Message par Paul04 »

Je me suis fait plaisir et je fais mes premiers pas avec Linux et gnome. Donc merci pour vos petites astuces! :)
Avatar de l’utilisateur
juice
Messages : 247
Inscription : dim. 29 juin 2008, 10:06
Distribution : Archlinux
Niveau : Confirmé
Localisation : Oberentzen

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

Message 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 .
Répondre