Re: Improving work areas with multiple monitors


On Tue, Jun 22, 2021 at 7:42 PM Tomas Janousek <tomi nomi cz> wrote:
Hi Alberts and Martin,

On Mon, Dec 31, 2018 at 09:44:24AM +0100, Martin Flöser wrote:
>Am 2018-12-27 22:22, schrieb Alberts Muktupāvels via wm-spec-list:
>>First I think there should be new property for struts because existing
>>properties can not be used to set struts on edges between two
>>monitors. New property could be named _NET_WM_STRUT_AREA and used to
>>define rectangular area (x, y, width and height) that should be
>>excluded from work area. This property will need to follow at least
>>two rules:
>>- at least one edge of area must match with monitor edge. The window
>>manager must ignore strut if it is not placed at monitor edge.
>>- if strut appears on edge between two monitors it should be ignored
>>when calculating _NET_WORKAREA to ensure backward compatibility.
>sounds fine to me.
>As a note: in KWin we allow panels on shared edges to set a strut with
>the existing protocol. We just decided that a strut is not allowed to
>cover a complete screen. Technically it's a violation of the current
>protocol, but might be a better idea than introducing yet another
>It could be a simple textual addition like: "Struts covering a monitor
>completely are ignored for that monitor"

Note that this was discussed back in 2007 and 2009:

There was even a proposal for `_NET_WM_WORKAREAS` and `_NET_WM_STRUT_AREAS`:
that was never merged to wm-spec. :-(

Here is my proposal. Linked merge requests are merged with small changes - properties are not using _NET namespace as it was decided that it is not a good idea to change/update specification.
Just like KWin, xmonad and likely a few other tiling WMs implement the
same workaround of not allowing struts to cover an entire screen. That's
been there since 2009, at least.

But I guess I'm late to the party and we'll need to implement
`_GNOME_WM_STRUT_AREA` as well, as that's now a thing in gnome-panel and
elsewhere, and we're getting bug reports about it. :-/

Bug reports? gnome-panel still sets old STRUT properties, it does not require that the window manager supports new property.
Tomáš "liskin" ("Pivník") Janoušek,

Alberts Muktupāvels

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