emacs-devel
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]