Les bureaux Gnome Shell et Mate permettent de créer un fond d'écran dynamique. Ce fond dynamique est un diaporama constitué d'une succession d'images. L'organisation de ces images est gérée avec un fichier XML qui contient toutes les informations nécessaires.
Un tutoriel, plus concis, est disponible ici, cet article étant davantage descriptif.
Le niveau indiqué correspond au niveau dans la hiérarchie du fichier XML
Cette balise est utilisée pour encadrer tout le code pour le fichier. Elle est la première balise ainsi que la dernière balise du doccument.
Regroupe les balises year, month, day, hour, minute et second. Celles-ci sont utilisées pour entrer la date et l'heure à laquelle vous voulez que l'arrière plan commence à s'animer.
Il est à noter que :
Regroupe les balises duration et file pour déterminer quel est le lien de l'image courante et combien de temps elle restera affichée.
Regroupe les balises duration, from et to. Elle est utilisée lors de la transition de deux images. La transition utilisée est une transition linéaire (par exemple 5 % est enlevé à l'image courante et 5 % est donné à l'image suivante). En précisant dans la balise <transition type="overlay"> on a une transition un peu différente mais flemme d'expliquer.
duration : est le nombre de secondes que durera la transition from : est le chemin absolu sur le disque de l'image présentement affichée comme arrière plan. to : est le chemin absolu sur le disque de l'image qui sera affichée comme arrière plan.
Ce code est un exemple qui montre l'organisation d'un arrière plan dynamique qui contient trois images (ArrièrePlan1.jpg, ArrièrePlan2.jpg et ArrièrePlan3.jpg). La durée de chaque image est de 600 secondes (10 minutes) et la transition se fait en 5 secondes :
<background> <starttime> <year>2009</year> <month>08</month> <day>04</day> <hour>00</hour> <minute>00</minute> <second>00</second> </starttime> <!-- Cette animation commencera le 4 août, de l'année 2009, à minuit. --> <static> <duration>600.0</duration> <file>/usr/share/backgrounds/ArrierePlan1.jpg</file> </static> <transition> <duration>5.0</duration> <from>/usr/share/backgrounds/ArrierePlan1.jpg</from> <to>/usr/share/backgrounds/ArrierePlan2.jpg</to> </transition> <static> <duration>600.0</duration> <file>/usr/share/backgrounds/ArrierePlan2.jpg</file> </static> <transition> <duration>5.0</duration> <from>/usr/share/backgrounds/ArrierePlan2.jpg</from> <to>/usr/share/backgrounds/ArrierePlan3.jpg</to> </transition> <static> <duration>600.0</duration> <file>/usr/share/backgrounds/ArrierePlan3.jpg</file> </static> <transition> <duration>5.0</duration> <from>/usr/share/backgrounds/ArrierePlan3.jpg</from> <to>/usr/share/backgrounds/ArrierePlan1.jpg</to> </transition> </background>
Le programme Shotwell (gestion de photos) propose graphiquement une fonctionnalité de création de diaporama de fond d'écran.
create_diaporama.sh
#!/bin/bash usage(){ echo "$0 DOSSIER_À_IMAGES" exit 2 } [[ "$#" -eq 0 ]] && usage [[ "$#" -gt 1 ]] && usage # on passe en chemin absolu FOLDER=$(realpath "$1") # Test si le dossier est accessible et est un répertoire [ ! -d "${FOLDER}" ] && echo "Impossible d'acceder a ${FOLDER}" && exit 2 [ ! -r "${FOLDER}" ] && echo "Impossible d'acceder a ${FOLDER}" && exit 2 # Supression des parentheses find "${FOLDER}" -type f -name "*)*" -exec rename 's/\)/_/g' {} \; find "${FOLDER}" -type f -name "*(*" -exec rename 's/\(/_/g' {} \; # Supression des espaces find "${FOLDER}" -type f -name "* *" -exec rename 's/ /_/g' {} \; # Fichier de sortie xml_file="$FOLDER/${FOLDER##*/}.xml" # Constante STATIC_DURATION='10.0' TRANSITION_DURATION='5.0' # Initialisation du fichier cat > "${xml_file}" << EOF_initialisation <background> <starttime> <year>2009</year> <month>08</month> <day>04</day> <hour>00</hour> <minute>00</minute> <second>00</second> </starttime> EOF_initialisation # Corps du fichier XML old_file='' first_file='' for file in "${FOLDER}"/*.{png,jpg,jpeg,gif,bmp,svg}; do [ -z "$old_file" ] && old_file="$file" && first_file="$file" && continue cat >> "${xml_file}" << EOF_static_transition <static> <duration>${STATIC_DURATION}</duration> <file>${old_file}</file> </static> <transition> <duration>${TRANSITION_DURATION}</duration> <from>${old_file}</from> <to>${file}</to> </transition> EOF_static_transition old_file="$file" done # Fin du fichier - boucle sur le premier fichier de la liste cat >> "${xml_file}" << EOF_fin_fichier <static> <duration>${STATIC_DURATION}</duration> <file>${file}</file> </static> <transition> <duration>${TRANSITION_DURATION}</duration> <from>${file}</from> <to>${first_file}</to> </transition> </background> EOF_fin_fichier
chmod +x create_diaporama.sh
./create_diaporama.sh Images
Utilisez Gnome Tweak Tool, et dans l'onglet "Bureau", choisissez le fichier XML.
Contributeurs : Matt_Rodat, Roschan
source : https://fr.wikibooks.org/wiki/Arri%C3%A8re_plan_dynamique_(Gnome), http://www.linuxjournal.com/content/create-custom-transitioning-background-your-gnome-228-desktop