xfwm: struts + multi monitor - does that work ?

Olivier Fourdan fourdan at gmail.com
Wed Nov 2 18:38:51 CET 2022


On Wed, 2 Nov 2022 at 18:05, Enrico Weigelt, metux IT consult
<lkml at metux.net> wrote:
>
> Hello folks,
>
>
> just looking at the geometry constraints code (that's also checking for
> struts) and wonder whether that works at all - the implementation
> doesn't care about monitors at all.
>
> The netwm spec is a bit misleading at this point - since it predates the
> Xinerama, it can't know about Xscreens spanning multiple monitors.
> It says struts are in root window coordinates.

No, that statement seems inaccurate, it does not predate Xinerama at
all. Xinerama appeared in X11R6.4 in 1998 [1] whereas EWMH and the
concept of struts appeared in early 2000 [2].

> KWin seems to interpret the spec differently, assuming struts are
> relative to monitors.

That's KDE's own interpretation, not the spec.

> What can we do about that ?

I'd rather stick to the spec, even if the spec is not perfect, moving
away from the spec may break existing programs who rely on the current
documented behavior.

Struts are relative to the root window, regardless of the monitors.
That's the spec, and it will not change in any foreseeable future
considering EWMH is pretty dead nowadays.

What matters actually is that it works with the panel. For example,
the latest xfwm4 will ignore struts that cover an entire monitor.

So I reckon it works reasonably well, yes.

Cheers
Olivier

[1] https://www.x.org/releases/X11R6.4/tars/RELNOTES.TXT
[2] https://gitlab.freedesktop.org/xdg/xdg-specs/-/commits/master/wm-spec


More information about the Xfce4-dev mailing list