Fare una ricerca su Google rivela il comando
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s <image-path>
La prima volta che eseguo questo comando ho ricevuto un messaggio che diceva che la proprietà / sfondo / screen0 / monitor0 / percorso-immagine non esiste nel canale xfce4-desktop.
Quindi, ho creato questa proprietà:
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s <image-path>
Ma lo sfondo non è cambiato.
Ho quindi cambiato lo sfondo da space-03.jpg a space-04.jpg normalmente, dall'applicazione Impostazioni desktop di XUbuntu. Quindi corro:
$ xfconf-query -c xfce4-desktop -p /backdrop -lv
/backdrop/screen0/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor0/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor0/image-show true
/backdrop/screen0/monitor1/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor1/image-show true
/backdrop/screen0/monitorLVDS1/workspace0/color-style 0
/backdrop/screen0/monitorLVDS1/workspace0/image-style 5
/backdrop/screen0/monitorLVDS1/workspace0/last-image /usr/share/backgrounds/space-04.jpg
Come puoi vedere, la proprietà /backdrop/screen0/monitorLVDS1/workspace0/last-image
è cambiata (!).
Se cambio questa proprietà, allora funziona perfettamente, ma il fatto è che devo trovare un modo generale per implementarlo nel mio programma (Wallch).
Anche Variety
(che è un programma molto carino, a proposito) non funziona correttamente sulla mia macchina e sceglie di cambiare la proprietà /backdrop/screen0/monitor0/image-path
che non fa nulla.
Un modo sarebbe quello di creare tutte le proprietà possibili e cambiarle tutte quando necessario, contemporaneamente. Non mi piace questa soluzione per 2 motivi:
- Diverse chiamate di sistema che saranno necessarie
- A un certo punto dovrò prendere il percorso dell'immagine corrente (per aprirne la cartella, copiarne il percorso, eliminarlo e alcune altre funzioni fornite dal programma). Non saprei quale proprietà trattiene il percorso dell'immagine realmente impostata per renderla disponibile al programma.
Inoltre non capisco perché XFCE lo abbia reso così complesso. Perché una proprietà non sarebbe sufficiente come in gsettings?