emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New library wallpaper.el pushed to master


From: Po Lu
Subject: Re: New library wallpaper.el pushed to master
Date: Wed, 14 Sep 2022 15:33:44 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux)

Stefan Kangas <stefankangas@gmail.com> writes:

> If I'm not mistaken, under X, you would need $DISPLAY to be set for it
> to work.  And that variable is not set by default in a TTY.

That depends on the program.  On X systems, some program running in the
background typically manages the desktop background.  The value of
DISPLAY usually does not matter, and you can only set the background
image for the currently running local desktop anyway.

> Testing this on the Linux console, it only works if I do:
>
>     DISPLAY=:0.0 feh --bg-fill some-image.png

Isn't feh the odd one out here, since it actually displays the wallpaper
itself instead of changing a desktop setting?

> My assumption is that $WAYLAND_DISPLAY works similarly (but I've never
> used Wayland so I have no idea really).

Programs like feh cannot be implemented on Wayland as a matter of
principle, without protocol extensions provided by wlroots (and
wlroots-based compositors.)  So the approach of drawing to the desktop
will not work on, say, GNOME or KDE Wayland.

> Or maybe we should just ignore any errors and let users figure it out?
> But that seems a bit drastic, perhaps.

I'd prefer this, honestly, since most users will be using a desktop
environment where DISPLAY does not matter.

> For now, the idea is that the user will be able to configure this by
> changing `wallpaper-commands'.  Ideally, we would have a defcustom to
> control the default operation while being agnostic of the actual command
> used.  But then you have different capabilities in different software to
> consider too.

But on systems like Haiku and MS Windows, there are no commands to
customize, and system APIs are used instead.

I think all systems let you choose between scaling and cropping the
image to fit the screen, and leaving the image intact.  If it turns out
one of the programs we use does not, then that option can just be left
unimplemented.


reply via email to

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