Re: Improving work areas with multiple monitors
- From: Alberts Muktupāvels <alberts muktupavels gmail com>
- To: Tomas Janousek <tomi nomi cz>, Martin Flöser <mgraesslin kde org>, Alberts Muktupāvels <alberts muktupavels gmail com>, wm-spec-list gnome org
- Subject: Re: Improving work areas with multiple monitors
- Date: Tue, 22 Jun 2021 20:17:52 +0300
Hi,
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
>property.
>
>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:
https://mail.gnome.org/archives/wm-spec-list/2007-June/msg00000.html
https://mail.gnome.org/archives/wm-spec-list/2009-November/msg00004.html
There was even a proposal for `_NET_WM_WORKAREAS` and `_NET_WM_STRUT_AREAS`:
https://mail.gnome.org/archives/wm-spec-list/2009-November/msg00005.html
that was never merged to wm-spec. :-(
https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/22
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, https://work.lisk.in/
--
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]