Xfce Forum

Sub domains
 

You are not logged in.

#1 2025-12-27 21:24:42

gafenton
Member
Registered: 2025-12-27
Posts: 3
LinuxFirefox 146.0

xfdesktop --reload hasn't worked since Fedora 42

The manual page for xfdesktop describes the option -R, --reload as meaning:

       -R, --reload
              Causes an already-running instance of xfdesktop to reload all its
              settings and redraws the desktop background.

However, as far as I can tell, since Fedora 42, the "redraw the desktop background" no longer happens.

Many years ago, I wrote a little C program to draw a desired jpg image to my desktop background. I did this by setting my desktop background to a symbolic link called "background.jpg". My program then just points the background.jpg to another image and runs

    system("xfdesktop --reload");

However, since F42, this has not worked. Apparently, xfdesktop is no longer redrawing the desktop background?

I have developed a kluge to work around this that involves code such as:

    system("xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorHDMI-0/workspace0/last-image -s /home/gordon/background/temp.jpg");
    system("xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorHDMI-0/workspace0/last-image -s /home/gordon/background/background.jpg");

Note: I have to redirect to another image, then back to the background.jpg image, in order for this to work. If I just have the 2nd command, it doesn't update. Again, this doesn't seem right.

My kluge works, but it is a major pain in the *** figuring out what "screen/monitor/workspace" to actually use in the above code. I have looked at the files in ~/.config/xfce4/xfconf/xfce-perchannel-xml and have run "xfconf-query -c xfce4-desktop -l" and "xfconf-query -c displays -lv" but none of these seem to specify which display is actually being used. They all give a variety of displays to choose from and the actual display may or may not be in the list of options.

For example, today, I finally figured out that the display on one of my computers was

/backdrop/screen0/monitorHDMI-1/workspace0

and now my background program is updating the background perfectly well. However, when I now type "xfconf-query -c displays -lv" it no longer lists monitorHDMI-1 (but does now show monitorHDMI-0). And yet, monitorHDMI-1 still works to update the image. Clearly monitorHDMI-1 is the actual reference to my screen. I'm not sure what monitorHDMI-0 is actually referencing, since that certainly does not work.

If somebody can get "xfdesktop --reload" to properly redraw the background using the current image (regardless of its name), as specified in its manual page, that would be great! But also, it would be very useful if there was some simpler way to sort out what screen name is used for each screen. The current "Display --> Advanced --> Identifying Displays" only provides the vendor name and the resolution.

No response needed at this point. I have my background image program working on all of my computers now. But the kluge seems very awkward. It would be much better if "xfdesktop --reload" actually worked.

Offline

#2 2025-12-27 23:33:23

ToZ
Administrator
From: Canada
Registered: 2011-06-02
Posts: 12,406
LinuxFirefox 146.0

Re: xfdesktop --reload hasn't worked since Fedora 42

See: https://gitlab.xfce.org/xfce/xfdesktop/-/issues/416.

This has been fixed in master, but still not released as an official subversion yet.


Mark solved threads as [SOLVED] to make it easier for others to find solutions.
--- How To Ask For Help | FAQ | Developer Wiki  |  Community | Contribute ---

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 7 queries executed - Memory usage: 529.1 KiB (Peak: 529.95 KiB) ]