[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: master fe7c015b20: Support XFCE in wallpaper.el
From: |
Thierry Volpiatto |
Subject: |
Re: master fe7c015b20: Support XFCE in wallpaper.el |
Date: |
Mon, 19 Sep 2022 06:06:38 +0000 |
Po Lu <luangruo@yahoo.com> writes:
> Thierry Volpiatto <thievol@posteo.net> writes:
>
>> Po Lu <luangruo@yahoo.com> writes:
>>
>>> Thierry Volpiatto <thievol@posteo.net> writes:
>>>
>>>> Here the command fails if you specify the workspace, it works only with
>>>> "worspace0".
>>>
>>> But that's because you only have workspace 1 displayed, right?
>>
>> No, if emacs is on workspace0 and I use:
>> "/backdrop/screen0/monitoreDP/workspace0/last-image"
>> wallpaper is modified as expected.
>>
>> Then if emacs is on workspace2 and I use:
>> "/backdrop/screen0/monitoreDP/workspace2/last-image"
>> Command exit with 0 status but wallpaper is not modified, but if I use:
>> "/backdrop/screen0/monitoreDP/workspace0/last-image" again (always from
>> workspace2), wallpaper is modified as expected.
>>
>> I can verify this with this command which monitor the desktop change:
>>
>> xfconf-query -c xfce4-desktop -m
>>
>> => Commencer à surveiller le canal « xfce4-desktop » :
>>
>> then I go to workspace4, modify wallpaper with mouse and the usual xfce
>> interface for this, go back in workspace1 an look at output:
>> I have now:
>>
>> Commencer à surveiller le canal « xfce4-desktop » :
>>
>> définir: /backdrop/screen0/monitoreDP/workspace0/last-image
>>
>> unfortunately this command is interactive :-(
>
> But here is how Thunar, the XFCE file manager, sets the backdrop:
>
> image_path_prop =
> g_strdup_printf("/backdrop/screen%d/monitor%s/workspace%d/last-image",
> screen_nr, monitor_name, workspace);
> image_style_prop =
> g_strdup_printf("/backdrop/screen%d/monitor%s/workspace%d/image-style",
> screen_nr, monitor_name, workspace);
Yes, sure it is working from thunar. But here from emacs with
it specified, the command output with 0 but the background is not
changed unless I hardcode workspace to 0.
Here the function used with its Edebug
output:
(defun tv/change-xfce-background (file)
(let* ((screen (frame-parameter (selected-frame) 'display))
(monitor (assoc-default 'name (car (display-monitor-attributes-list))))
(desktop (x-window-property "_NET_CURRENT_DESKTOP" nil "CARDINAL" 0
nil t))
(prop (format "/backdrop/screen%s/monitor%s/workspace%s/last-image"
(substring screen (1- (length screen)))
monitor
desktop
)))
(if (= (apply #'call-process "xfconf-query" nil nil nil
`("-c" "xfce4-desktop" "-p" ,prop "-s" ,file))
0)
(message "Background changed successfully to %s" (helm-basename file))
(message "Failed to change background"))))
Edebug: tv/change-xfce-background
tv/change-xfce-background
Result: #<frame *scratch* - GNU Emacs at IPad-S340 0x55d297d580f8>
Result: ":0.0"
Result: (((name . "eDP") (geometry 0 0 1920 1080) (workarea 0 0 1920 1080)
(mm-size 309 174) (frames #<frame *scratch* - GNU Emacs at IPad-S340
0x55d297d580f8>) (source . "XRandr")))
Result: ((name . "eDP") (geometry 0 0 1920 1080) (workarea 0 0 1920 1080)
(mm-size 309 174) (frames #<frame *scratch* - GNU Emacs at IPad-S340
0x55d297d580f8>) (source . "XRandr"))
Result: "eDP"
Result: 2 (#o2, #x2, ?\C-b)
Result: ":0.0"
Result: ":0.0"
Result: 4 (#o4, #x4, ?\C-d)
Result: 3 (#o3, #x3, ?\C-c)
Result: "0"
Result: "eDP"
Result: 2 (#o2, #x2, ?\C-b)
Result: "/backdrop/screen0/monitoreDP/workspace2/last-image"
Result: call-process
Result: "/backdrop/screen0/monitoreDP/workspace2/last-image"
Result: "/home/thierry/backgrounds/Cyclosys.jpg"
Result: ("-c" "xfce4-desktop" "-p"
"/backdrop/screen0/monitoreDP/workspace2/last-image" "-s"
"/home/thierry/backgrounds/Cyclosys.jpg")
Result: 0 (#o0, #x0, ?\C-@)
Result: t
Result: "/home/thierry/backgrounds/Cyclosys.jpg"
Result: "Cyclosys.jpg"
Background changed successfully to Cyclosys.jpg
Result: "Background changed successfully to Cyclosys.jpg"
--
Thierry
signature.asc
Description: PGP signature
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Po Lu, 2022/09/16
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Stefan Kangas, 2022/09/17
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Po Lu, 2022/09/17
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Po Lu, 2022/09/17
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Thierry Volpiatto, 2022/09/18
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Po Lu, 2022/09/18
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Thierry Volpiatto, 2022/09/18
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Po Lu, 2022/09/19
- Re: master fe7c015b20: Support XFCE in wallpaper.el,
Thierry Volpiatto <=
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Po Lu, 2022/09/19
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Thierry Volpiatto, 2022/09/19
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Po Lu, 2022/09/19
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Thierry Volpiatto, 2022/09/19
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Thierry Volpiatto, 2022/09/19
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Stefan Kangas, 2022/09/19
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Tomas Hlavaty, 2022/09/19
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Stefan Monnier, 2022/09/19
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Thierry Volpiatto, 2022/09/20
- Re: master fe7c015b20: Support XFCE in wallpaper.el, Eli Zaretskii, 2022/09/19