Faire une recherche google révèle la commande
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s <image-path>
La première fois que j'exécute cette commande, j'ai reçu un message disant que la propriété / backdrop / screen0 / monitor0 / image-path n'existe pas dans le canal xfce4-desktop.
J'ai donc créé cette propriété:
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s <image-path>
Mais l'arrière-plan n'a pas changé.
J'ai ensuite changé l'arrière-plan de l'espace-03.jpg en espace-04.jpg normalement, à partir de l'application Paramètres du bureau de XUbuntu. Puis je lance:
$ 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
Comme vous pouvez le voir, la propriété /backdrop/screen0/monitorLVDS1/workspace0/last-image
a changé (!).
Si je modifie cette propriété, cela fonctionne très bien, mais le fait est que je dois trouver un moyen général de l'implémenter dans mon programme (Wallch).
Même Variety
(qui est un très bon programme, soit dit en passant) ne fonctionne pas correctement sur ma machine et choisit de changer la propriété /backdrop/screen0/monitor0/image-path
qui ne fait rien.
Une façon serait de créer toutes les propriétés possibles et de les modifier toutes en cas de besoin, simultanément. Je n'aime pas cette solution pour 2 raisons:
- Plusieurs appels système qui seront nécessaires
- À un moment donné, je devrai prendre le chemin de l'image actuelle (afin d'ouvrir le dossier de celle-ci, copier le chemin de celle-ci, le supprimer et certaines autres fonctions que le programme fournit). Je ne saurais pas quelle propriété détient le chemin de l'image vraiment définie afin de la rendre disponible au programme.
Je ne comprends pas non plus pourquoi XFCE l'a rendu si complexe. Pourquoi une propriété ne suffirait-elle pas comme dans gsettings?