Recherche de site Web

Comment créer des fonds d’écran dynamiques GNOME


GNOME (GNU Network Object Model Environment), est l’un des environnements de bureau les plus populaires sous Linux, et probablement le plus utilisé, puisque toutes les principales distributions l’utilisent comme interface par défaut. La version 42 de la D.E., a introduit un changement de mode d’interface utilisateur global « clair/sombre », qui est respecté par toutes les applications et fonds d’écran GNOME : changer le style global en « sombre », change automatiquement le thème GTK en Adwaita-dark, et tous les fonds d’écran supportant cette fonctionnalité, en leurs versions « sombres ». GNOME prend également en charge les fonds d’écran décalés dans le temps.

Dans ce tutoriel, nous apprenons à créer des fonds d’écran dynamiques et décalés dans le temps qui suivent le style global de GNOME.

Dans ce tutoriel, vous allez apprendre :

  • Comment créer un fond d’écran dynamique qui change en fonction du style d’interface utilisateur globale de GNOME
  • Comment créer un fond d’écran décalé dans le temps

Création d’un fond d’écran dynamique

Pour les besoins de ce tutoriel, je vais utiliser deux images qui sont assez similaires : les deux ont un fond bleu avec un symbole « tag » au centre, qui dans une image est blanc, et dans l’autre est noir. Nous utiliserons le premier lorsque GNOME est en mode « clair », et le second lorsque le mode « sombre » est défini :

Tout ce que nous avons à faire est de placer les images dans un sous-répertoire sous ~/.local/share/backgrounds, si nous voulons rendre le fond d’écran dynamique disponible uniquement pour notre utilisateur, ou sous /usr/share/backgrounds si nous voulons l’installer à l’échelle du système. Dans ce cas, nous utiliserons la première stratégie. Pour refléter le « sujet » des images, nous allons créer un répertoire nommé « tag », et copier les deux images, nommées respectivement « tag-l.jpg » et « tag-d.jpg », à l’intérieur de celui-ci :

mkdir -p ~/.local/share/backgrounds/tag
cp tag-l.jpg tag-d.jpg ~/.local/share/backgrounds/tag

Une fois les images en place, il faut créer le fichier XML qui précise comment elles doivent être utilisées. Le fichier XML doit être placé dans le répertoire ~/.local/share/gnome-background-properties pour les installations au niveau de l’utilisateur, ou dans le répertoire /usr/share/gnome-background-properties pour les installations système. Le nom du fichier n’est pas important, cependant, pour être cohérent, nous l’enregistrons sous tag.xml. Voici son contenu :

<?xml version="1.0"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
  <wallpaper deleted="false">
    <name>Tag</name>
    <filename>/home/doc/.local/share/backgrounds/tag/tag-l.jpg</filename>
    <filename-dark>/home/doc/.local/share/backgrounds/tag/tag-d.jpg</filename-dark>
    <options>zoom</options>
  </wallpaper>
</wallpapers>

Le fichier peut contenir plusieurs définitions de fond d’écran. Chaque fond d’écran est défini entre les balises « <wallpaper></wallpaper> ». Avec la balise « <name> « , nous spécifions le nom du fond d’écran, tandis qu’avec les balises « <filename> " et « <filename-dark> « , nous définissons les chemins absolus des fonds d’écran qui doivent être utilisés en mode « clair » et « sombre », respectivement.

Enfin, avec la balise « <options> « , nous spécifions comment le fond d’écran doit être rendu. Ici, le « zoom » est ce que nous voulons utiliser la plupart du temps, car il remplit l’écran en zoomant sur l’image si nécessaire, en respectant ses proportions ; Les autres valeurs possibles sont : « Aucun « , « Fond d’écran « , « Centré « , « Mis à l’échelle « , « Étiré » et « Étendu ».

À ce stade, nous devrions être prêts. Si nous ouvrons le panneau « apparence » dans l’application des paramètres GNOME, nous devrions voir notre fond d’écran dynamique bien affiché en option :

Les variantes claires/sombres du fond d’écran seront appliquées lorsque nous changerons le style global de l’interface utilisateur de GNOME :

Création de fonds d’écran décalés dans le temps

En plus d’avoir les variantes claires/sombres de notre fond d’écran appliquées en fonction du style global de l’interface utilisateur de GNOME, nous pouvons nous assurer qu’elles sont décalées après une période de temps spécifiée. Il serait bien, par exemple, d’avoir la variante claire du papier peint appliquée pendant la journée, et la variante sombre à poser le soir. Pour ce faire, tout ce que nous avons à faire est de créer un autre fichier XML et, pour plus de commodité, de le placer dans le même répertoire que les images composant notre fond d’écran dynamique. Dans ce cas, nous l’enregistrerons sous le nom ~/.local/share/backgrounds/tag/tag.xml.

À l’intérieur du fichier, nous spécifions comment et quand les images doivent être appliquées. En voici un exemple :

<background>
  <starttime>
    <year>2023</year>
    <month>1</month>
    <day>1</day>
    <hour>8</hour>
    <minute>0</minute>
    <second>0</second>
  </starttime>
  <static>
    <file>/home/doc/.local/share/backgrounds/tag/tag-l.jpg</file>
    <duration>36000</duration>
  </static>
  <transition type="overlay">
    <duration>7200</duration>
    <from>/home/doc/.local/share/backgrounds/tag/tag-l.jpg</from>
    <to>/home/doc/.local/share/backgrounds/tag/tag-d.jpg</to>
  </transition>
  <static>
    <file>/home/doc/.local/share/backgrounds/tag/tag-d.jpg</file>
    <duration>36000</duration>
  </static>
  <transition type="overlay">
    <duration>7200</duration>
    <from>/home/doc/.local/share/backgrounds/tag/tag-d.jpg</from>
    <to>/home/doc/.local/share/backgrounds/tag/tag.l.jpg</to>
  </transition>
</background>

Cette configuration sera effective à partir du 01/01/2023 à 8h00. La première image qui sera appliquée, à cette heure-là, sera la variante « légère » du fond d’écran « tag » : elle durera 36000 secondes (10 heures). Après cette période, à 18h00, la transition commencera et durera 7200 secondes (2 heures), jusqu’à 20h00. À 20h00, la variante sombre de l’image sera affichée pendant 10 heures, donc jusqu’à 6h00. À 6h00, une autre transition commencera et durera 2 heures, jusqu’à 8h00. Cette procédure sera répétée chaque jour.

Une dernière chose doit être faite : nous devons référencer le fichier que nous venons d’écrire, dans le XML que nous avons précédemment créé sous ~/.local/share/gnome-background-properties, en ajoutant une autre section <wallpaper></wallpaper :

<wallpaper deleted="false">
  <name>Tag Time of Day</name>
  <filename>/home/doc/.local/share/backgrounds/tag/tag.xml</filename>
  <options>zoom</options>
</wallpaper>

Dans les paramètres du sélecteur d’arrière-plan, nous devrions maintenant remarquer le fond d’écran en décalage temporel, qui peut être identifié par l’icône de la minuterie en bas à gauche de la vignette :

Création de fonds d’écran dynamiques avec l’outil « Fond d’écran dynamique »

Pour faciliter la création de fonds d’écran dynamiques, nous pouvons utiliser l’outil open source « Dynamic Wallpaper », qui est disponible en tant que flatpak sur Flathub. L’outil nous permet de sélectionner les images « claires » et « sombres » qui composent notre fond d’écran et crée tous les fichiers et répertoires nécessaires pour nous :

Un outil portant un nom similaire, « Dynamic Wallpaper Editor », est également disponible sur Flathub (et en tant que paquet rpm dans les dépôts officiels de Fedora) : il peut être utilisé pour créer des fonds d’écran décalés dans le temps. L’outil nous permet de sélectionner les images que nous voulons utiliser et de définir leur durée, ainsi que les transitions :

Réflexions finales

Dans ce tutoriel, nous avons appris à créer des fonds d’écran dynamiques et décalés dans le temps. Les premières changent en fonction du style d’interface utilisateur globale de GNOME, les images qui composent les secondes se décalent après une période de temps spécifiée. Le comportement des fonds d’écran dynamiques est défini via des fichiers XML ; nous avons vu comment les créer avec un simple éditeur de texte ou en utilisant des outils graphiques dédiés tels que « Dynamic Wallpaper " et « Dynamic Wallpaper Editor « .

Articles connexes: