Come impostare in automatico il tema scuro su Xfce sfruttando Redshift e cambiare anche lo sfondo

by Marco Giannini on




In questa guida vedremo come istruire Redshift in modo tale da impostare in automatico lo stile dark del tema di Xfce quando arriva la sera oltre che cambiarne anche lo sfondo. La guida è stata realizzata da Andrea M., uno dei lettori del blog nonché membro della community Telegram di Marco's Box

Requisiti

Prima di procedere con la guida ecco i requisiti: 
  • Ovviamente Redshift installato e funzionante 
  • Dobbiamo utilizzare la sessione di Xfce su Xorg in quanto Redshift non funziona su Wayland 
  • Il tema scelto deve avere la variante dark, in questa guida è stato preso come riferimento Adwaita 

Con il tema Adwaita è possibile modificare il tema da terminale con i seguenti comandi: 

tema chiaro
xfconf-query -c xsettings -p /Net/ThemeName -s Adwaita

tema scuro
xfconf-query -c xsettings -p /Net/ThemeName -s Adwaita-dark

Deleghiamo il cambio di tema a Redshift 

Per comodità è possibile delegare questa operazione a Redshift in modo tale da essere eseguita in automatico col passaggio alla modalità giorno/notte.

Creiamo uno script eseguibile nella cartella hooks nella cartella contenente il file di configurazione di Redshift:
mkdir -p ~/.config/redshift/hooks
cd ~/.config/redshift/hooks
touch script.sh
chmod +x script.sh
Una volta fatto modifichiamo opportunamente il file di configurazione con il nostro editor di testo preferito nel seguente modo:
#!/bin/sh

run_at_night() {
xfconf-query -c xsettings -p /Net/ThemeName -s Adwaita-dark
}

run_at_day() {
xfconf-query -c xsettings -p /Net/ThemeName -s Adwaita
}

if [ "$1" = period-changed ]; then
case $3 in
night)
run_at_night
;;
transition)
;;
daytime)
run_at_day
;;
esac
fi

Possiamo anche cambiare lo sfondo 

È possibile effettuare anche il cambio dello sfondo. Per prima cosa è necessario individuare nelle impostazioni di Xfce le informazioni relative allo schermo. Per farlo eseguiamo nel terminale:
xfconf-query -c xfce4-desktop -l
in questo esempio il percorso dello schermo è: /backdrop/screen0/monitoreDP-1e quello che verrà utilizzato per il comando è: /backdrop/screen0/monitoreDP-1/workspace0/last-image 

È possibile assegnare diversi sfondi agli schermi collegati e ai vari spazi di lavoro, qui per comodità si è utilizzato solo uno schermo ed è stata impostata la regola di utilizzare lo stesso sfondo su tutti i desktop virtuali. Per farlo basta aggiungere alle funzioni run_at_day/run_at_night i seguenti comandi: 

per il giorno
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitoreDP-1/workspace0/last-image -s "/percorso_dello_sfondo/immagine_giorno"

e per la notte notte
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitoreDP-1/workspace0/last-image -s "/percorso_dello_sfondo/immagine_notte"

ecco qui come si presenterà la funzione notte
run_at_night() {
xfconf-query -c xsettings -p /Net/ThemeName -s Adwaita-dark
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitoreDP-1/workspace0/last-image -s "/percorso_dello_sfondo/immagine_notte"
}
A seconda delle nostre necessità possiamo aggiungere altri comandi alle funzioni oppure possiamo inserire altri script nella cartella hooks.
Buon divertimento.

Leggi il contenuto originale su Marco's Box

Written by: Marco Giannini