Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
arriere_plan_dynamique_gnome [Le 22/11/2010, 11:47] matt_rodat créée |
arriere_plan_dynamique_gnome [Le 27/11/2022, 01:33] (Version actuelle) Coeur Noir [Avec Mate] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Gnome personnalisation}} | + | {{tag>Gnome personnalisation Mate}} |
---- | ---- | ||
- | ====== Arrière plan dynamique (Gnome) ====== | + | ====== Arrière plan dynamique (Mate/Gnome Shell) ====== |
- | Le bureau Gnome 2.28 permet un fond d'écran dynamique avec le bureaux Gnome. Ce fond dynamique n'est pas constitué d'une image animée ou d'une vidéo mais d'une succession d'images. | + | Les bureaux [[:gnome_shell|Gnome Shell]] et [[:mate|Mate]] permettent de créer un fond d'écran dynamique. Ce fond dynamique est un diaporama constitué d'une succession d'images. |
- | Gnome utilise un fichier XML qui contient toutes les informations nécessaire pour modifier le fond d'écran comme un diaporama. | + | L'organisation de ces images est gérée avec un fichier XML qui contient toutes les informations nécessaires. |
+ | Un [[:diaporama_fond_d_ecran|tutoriel, plus concis, est disponible ici]], cet article étant davantage descriptif. | ||
===== Les balises ===== | ===== Les balises ===== | ||
* **<background>** \\ Balise mère qui encadre tout le code XML | * **<background>** \\ Balise mère qui encadre tout le code XML | ||
- | * **<starttime>** \\ Balise qui sert à définir la date et l'heure où le background commencera à exécuter | + | * **<starttime>** \\ Balise qui sert à définir la date et l'heure où le background commencera à s'exécuter |
* **<year>** \\ Année de départ | * **<year>** \\ Année de départ | ||
* **<month>** \\ Mois de départ | * **<month>** \\ Mois de départ | ||
Ligne 22: | Ligne 23: | ||
* **<file>** \\ L'adresse (parcours) où ce trouve l'image | * **<file>** \\ L'adresse (parcours) où ce trouve l'image | ||
* **<transition>** \\ Encadre le code pour la transition d'images | * **<transition>** \\ Encadre le code pour la transition d'images | ||
- | * **<from>** \\ L'adresse (parcours) de l'image courante qui sera remplacé par une prochaine image | + | * **<from>** \\ L'adresse (parcours) de l'image courante qui sera remplacée par une prochaine image |
* **<to>** \\ L'adresse (parcours) de l'image suivante qui remplace l'image courante | * **<to>** \\ L'adresse (parcours) de l'image suivante qui remplace l'image courante | ||
- | ===== Les algorithmes ===== | + | ===== Structure des balises dans le fichier XML ===== |
- | Le niveau correspond au niveau dans la hiérarchie du fichier XML | + | Le niveau indiqué correspond au niveau dans la hiérarchie du fichier XML |
==== background (niveau 1) ==== | ==== background (niveau 1) ==== | ||
- | Cette balise est utilisé pour encadrer tout le code pour le fichier. Elle est la première balise ainsi que la dernière balise du doccument. | + | 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. |
==== starttime (niveau 2) ==== | ==== starttime (niveau 2) ==== | ||
- | Regroupe les balises **year**, **month**, **day**, **hour**, **minute** et **second**. Celles-ci sont utiliser pour entrer la date et l'heure à laquelle vous voulez que l'arrière plan commence à s'animer. | + | 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 : | Il est à noter que : | ||
Ligne 42: | Ligne 43: | ||
* **day** : requiert 2 chiffres (ex : 12), valeurs entre 01 - 31 | * **day** : requiert 2 chiffres (ex : 12), valeurs entre 01 - 31 | ||
* **hour** : requiert 2 chiffres (ex : 21), valeurs entre 00 - 23 | * **hour** : requiert 2 chiffres (ex : 21), valeurs entre 00 - 23 | ||
- | * **minute** : requiert 2 chiffre (ex : 40), valeurs entre 00 - 59 | + | * **minute** : requiert 2 chiffres (ex : 40), valeurs entre 00 - 59 |
- | * **seconde** : requiert 2 chiffre (ex : 32) valeurs entre 00 - 59 | + | * **seconde** : requiert 2 chiffres (ex : 32) valeurs entre 00 - 59 |
==== static (niveau 2) ==== | ==== static (niveau 2) ==== | ||
- | Regroupe les balises **duration** et **file** pour déterminer qu'elle est le lien de l'image courante et combien de temps elle restera affichée. | + | 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. |
==== transition (niveau 2) ==== | ==== transition (niveau 2) ==== | ||
- | 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 enlever à l'image courrante et 5 % est donnée à l'image suivante). | + | 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 | **duration** : est le nombre de secondes que durera la transition | ||
Ligne 60: | Ligne 61: | ||
<note> | <note> | ||
- | Les fichiers ne doivent pas contenir les caractères suivants: (, ), et &. | + | Les fichiers ne doivent pas contenir les caractères suivants : (, ), et &. |
</note> | </note> | ||
- | 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: | + | 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 : |
<code file> | <code file> | ||
<background> | <background> | ||
Ligne 107: | Ligne 108: | ||
===== Automatisation de la création du fichier XML ===== | ===== Automatisation de la création du fichier XML ===== | ||
- | ==== Mon script perso ==== | + | ==== Avec Shotwell ==== |
+ | Le programme [[:shotwell|Shotwell]] (gestion de photos) propose graphiquement une fonctionnalité de création de diaporama de fond d'écran. | ||
+ | |||
+ | ==== Exemple de script d'automatisation (bash) ==== | ||
**create_diaporama.sh** | **create_diaporama.sh** | ||
Ligne 113: | Ligne 117: | ||
#!/bin/bash | #!/bin/bash | ||
- | if [ $# -eq 0 ] || [ $# -gt 1 ]; then echo "$0 folder" && exit 2; fi | + | usage(){ |
+ | echo "$0 DOSSIER_À_IMAGES" | ||
+ | exit 2 | ||
+ | } | ||
+ | |||
+ | [[ "$#" -eq 0 ]] && usage | ||
+ | [[ "$#" -gt 1 ]] && usage | ||
- | # Si chemin absolu alors continue, sinon ajout du dossier courant | + | # on passe en chemin absolu |
- | if ! echo $1 | grep -iq "^/"; then | + | FOLDER=$(realpath "$1") |
- | FOLDER="$(pwd)/$1" | + | |
- | else | + | |
- | FOLDER="$1" | + | |
- | fi | + | |
# Test si le dossier est accessible et est un répertoire | # Test si le dossier est accessible et est un répertoire | ||
- | [ ! -d ${FOLDER} ] && echo "Impossible d'acceder a ${FOLDER}" && exit 2 | + | [ ! -d "${FOLDER}" ] && echo "Impossible d'acceder a ${FOLDER}" && exit 2 |
- | [ ! -r ${FOLDER} ] && echo "Impossible d'acceder a ${FOLDER}" && exit 2 | + | [ ! -r "${FOLDER}" ] && echo "Impossible d'acceder a ${FOLDER}" && exit 2 |
- | + | ||
- | # Suppression du slash de fin | + | |
- | FOLDER="$(echo ${FOLDER} | sed 's:\/$::')" | + | |
# Supression des parentheses | # Supression des parentheses | ||
- | find ${FOLDER} -type f -name "*)*" -exec rename 's/\)/_/g' {} \; | + | find "${FOLDER}" -type f -name "*)*" -exec rename 's/\)/_/g' {} \; |
- | find ${FOLDER} -type f -name "*(*" -exec rename 's/\(/_/g' {} \; | + | find "${FOLDER}" -type f -name "*(*" -exec rename 's/\(/_/g' {} \; |
+ | |||
# Supression des espaces | # Supression des espaces | ||
- | find ${FOLDER} -type f -name "* *" -exec rename 's/ /_/g' {} \; | + | find "${FOLDER}" -type f -name "* *" -exec rename 's/ /_/g' {} \; |
+ | |||
# Fichier de sortie | # Fichier de sortie | ||
- | xml_file="${FOLDER}/$(echo ${FOLDER} | sed 's:.*/\(.*\)$:\1:').xml" | + | xml_file="$FOLDER/${FOLDER##*/}.xml" |
- | [ -e ${xml_file} ] && echo "ATTENTION le fichier ${xml_file} existe" && exit 2 | + | |
# Constante | # Constante | ||
STATIC_DURATION='10.0' | STATIC_DURATION='10.0' | ||
TRANSITION_DURATION='5.0' | TRANSITION_DURATION='5.0' | ||
+ | |||
# Initialisation du fichier | # Initialisation du fichier | ||
- | cat > ${xml_file} << EOF_initialisation | + | cat > "${xml_file}" << EOF_initialisation |
<background> | <background> | ||
<starttime> | <starttime> | ||
Ligne 156: | Ligne 158: | ||
</starttime> | </starttime> | ||
EOF_initialisation | EOF_initialisation | ||
+ | |||
# Corps du fichier XML | # Corps du fichier XML | ||
old_file='' | old_file='' | ||
first_file='' | first_file='' | ||
- | for file in ${FOLDER}/*.{png,jpg,jpeg,gif,bmp,svg}; do | + | for file in "${FOLDER}"/*.{png,jpg,jpeg,gif,bmp,svg}; do |
- | [ -z $old_file ] && old_file=$file && first_file=$file && continue | + | [ -z "$old_file" ] && old_file="$file" && first_file="$file" && continue |
- | cat >> ${xml_file} << EOF_static_transition | + | cat >> "${xml_file}" << EOF_static_transition |
<static> | <static> | ||
<duration>${STATIC_DURATION}</duration> | <duration>${STATIC_DURATION}</duration> | ||
Ligne 173: | Ligne 175: | ||
</transition> | </transition> | ||
EOF_static_transition | EOF_static_transition | ||
- | old_file=$file | + | old_file="$file" |
done | done | ||
+ | |||
# Fin du fichier - boucle sur le premier fichier de la liste | # Fin du fichier - boucle sur le premier fichier de la liste | ||
- | cat >> ${xml_file} << EOF_fin_fichier | + | cat >> "${xml_file}" << EOF_fin_fichier |
<static> | <static> | ||
<duration>${STATIC_DURATION}</duration> | <duration>${STATIC_DURATION}</duration> | ||
Ligne 194: | Ligne 196: | ||
* <code bash>./create_diaporama.sh Images</code> | * <code bash>./create_diaporama.sh Images</code> | ||
* Le script va créer dans le répertoire Images le fichier Images.xml | * Le script va créer dans le répertoire Images le fichier Images.xml | ||
- | |||
- | ==== Autres Scripts ==== | ||
- | |||
- | * [[http://blog.zachtib.com/2010/05/generating-gnome-rotating-backgrounds/|Script en perl]] | ||
===== Installation de l'arrière plan dynamique personnalisé ===== | ===== Installation de l'arrière plan dynamique personnalisé ===== | ||
+ | ==== Avec Gnome Shell ==== | ||
+ | Utilisez [[gnome-tweak-tool|Gnome Tweak Tool]], et dans l'onglet "Bureau", choisissez le fichier XML. | ||
- | * Dans la bare de menu, cliquez ensuite sur : Système -> Préférences -> Apparence | + | ==== Avec Mate ==== |
- | * Cliquez sur l’onglet: Arrière-Plan | + | * Cliquez sur : Système -> Préférences -> Apparence |
+ | * Cliquez sur l’onglet : Arrière-Plan | ||
* Cliquez sur le bouton « + Ajouter » | * Cliquez sur le bouton « + Ajouter » | ||
* Allez dans le répertoire où se situe le fichier XML personnalisé | * Allez dans le répertoire où se situe le fichier XML personnalisé | ||
- | * Sélectionner afficher tous les fichiers | + | * Sélectionnez afficher tous les fichiers |
- | * Sélectionner le fichier XML | + | * Sélectionnez le fichier XML |
* Cliquez sur « Ouvrir » | * Cliquez sur « Ouvrir » | ||
+ | <note tip>Quelques essais testés sous Ubuntu 22.04 et 22.10 [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22623292#p22623292|par là]].</note> | ||
---- | ---- | ||
- | //Contributeurs : [[:utilisateurs:matt_rodat]], Matt_Rodat// | + | //Contributeurs : [[:utilisateurs:matt_rodat| Matt_Rodat]], [[:utilisateurs:Roschan]]// |
- | //source : [[http://fr.wikibooks.org/wiki/Arri%C3%A8re_plan_dynamique_(Gnome)]], [[http://www.linuxjournal.com/content/create-custom-transitioning-background-your-gnome-228-desktop]]// | + | //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]]// |