Script GNOME : Passer de Adwaita Light à Dark automatiquement
Table des matières
Dans cet article, on va voir comment créer un petit script qui vérifie le thème GNOME actif, et qui, en fonction de l'heure passe du thème Clair (Light) au thème Sombre (Dark)
Il existe 2 possibilités : Exécuter des commandes avec cron OU un script avec une boucle infinie.
J'ai préféré ce deuxième cas pour éviter la modification dans le crontab si on ne veut plus du script et que le script ne se lance que si une session graphique est démarrée.
Mais vous pouvez opter pour une solution avec cron.
Je commente le script pour plus de clarté !
Dans /home/$USER/.config/autostart, on créé un fichier desktop (Exemple themeswitcher.desktop) qui va lancer le script /home/adrien/.adrien/themeswitcher.sh chez moi :
Introduction
Dans cet article, on va voir comment créer un petit script qui vérifie le thème GNOME actif, et qui, en fonction de l'heure passe du thème Clair (Light) au thème Sombre (Dark)
Il existe 2 possibilités : Exécuter des commandes avec cron OU un script avec une boucle infinie.
J'ai préféré ce deuxième cas pour éviter la modification dans le crontab si on ne veut plus du script et que le script ne se lance que si une session graphique est démarrée.
Mais vous pouvez opter pour une solution avec cron.
Le script
Je commente le script pour plus de clarté !
Code BASH :
#! /bin/bash # Boucle infinie while : do # Récupération de l'heure et du thème actif heure=$(date +%H) theme=$(gsettings get org.gnome.desktop.interface gtk-theme | sed -e "s/'//g") #echo "H $heure - T $theme" # En fonction de l'heure : case $heure in # De 17h à 7h59 : 17|18|19|20|21|22|23|00|01|02|03|04|05|06|07) # Test si thème retourné différent de Adwaita-dark if [ $theme != "Adwaita-dark" ] then echo "Definition du theme Adwaita-dark" # Envoi d'une notification à l'environnement de bureau notify-send -u low -t 2000 "Changement du thème" "Thème changé vers Adwaita-dark" # Définition du thème Adwaita-dark et du thème d'icône Papirus-dark gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark" gsettings set org.gnome.desktop.interface icon-theme "Papirus-Dark" # Replacement du style si on utilise qt5ct (désactivé car j'utilise qGnomePlatform) #sed -e 's/style=Adwaita/style=Adwaita-Dark/' -i ~/.config/qt5ct/qt5ct.conf fi ;; # Tous les autres cas (heure) *) if [ $theme != "Adwaita" ] # Test si thème retourné différent de Adwaita then echo "Definition du theme Adwaita" # Envoi d'une notification à l'environnement de bureau notify-send -u low -t 2000 "Changement du thème" "Thème changé vers Adwaita Light" # Définition du thème Adwaita et du thème d'icône Papirus gsettings set org.gnome.desktop.interface gtk-theme "Adwaita" gsettings set org.gnome.desktop.interface icon-theme "Papirus" # Replacement du style si on utilise qt5ct (désactivé car j'utilise qGnomePlatform) #sed -e 's/style=Adwaita-Dark/style=Adwaita/' -i ~/.config/qt5ct/qt5ct.conf fi ;; esac # On boucle 10 secondes sleep 10 done
Lancer le script au démarrage de la session
Dans /home/$USER/.config/autostart, on créé un fichier desktop (Exemple themeswitcher.desktop) qui va lancer le script /home/adrien/.adrien/themeswitcher.sh chez moi :
Code BASH :
[Desktop Entry] Type=Application Exec=/home/adrien/.adrien/themeswitcher.sh Name[fr_FR]=Themeswitcher Name=Themeswitcher Comment[fr_FR]= Comment=