[ASTUCES] Fond d’écran changeant sous gnome
Publié : mar. 04 janv. 2011, 18:17
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.
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
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
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