Przeprowadzenie wyszukiwania w Google ujawnia polecenie
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s <image-path>
Przy pierwszym uruchomieniu tego polecenia dostaję komunikat, że właściwość / background / screen0 / monitor0 / image-path nie istnieje w kanale xfce4-desktop.
Więc stworzyłem tę właściwość:
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s <image-path>
Ale wciąż tło się nie zmieniło.
Następnie zmieniłem tło z space-03.jpg na space-04.jpg normalnie z aplikacji Desktop Settings XUbuntu. Potem biegam:
$ 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
Jak widać, właściwość /backdrop/screen0/monitorLVDS1/workspace0/last-image
uległa zmianie (!).
Jeśli zmienię tę właściwość, to działa dobrze, ale muszę znaleźć ogólny sposób, aby wdrożyć ją w moim programie (Wallch).
Nawet Variety
(nawiasem mówiąc, jest to bardzo fajny program) nie działa poprawnie na moim komputerze i decyduje się na zmianę właściwości, /backdrop/screen0/monitor0/image-path
która nic nie robi.
Jednym ze sposobów byłoby jednoczesne utworzenie wszystkich możliwych właściwości i zmiana ich wszystkich w razie potrzeby. Nie podoba mi się to rozwiązanie z dwóch powodów:
- Kilka wywołań systemowych, które będą potrzebne
- W pewnym momencie będę musiał wziąć ścieżkę bieżącego obrazu (aby otworzyć folder, skopiuj ścieżkę, usuń ją i niektóre inne funkcje, które program zapewnia). Nie wiedziałbym, która właściwość zawiera ścieżkę naprawdę ustawionego obrazu, aby udostępnić go programowi.
Nie rozumiem też, dlaczego XFCE zrobił to tak skomplikowane. Dlaczego jedna właściwość nie byłaby wystarczająca jak w zestawach?