After the merge request was opened back in 2023 and after going through 628 comments/activity, merged now to Wayland Protocols is the experimental zones “xx-zones” implementation for area-limited window positioning.
Matthias Klumpp spearheaded the work on the Zones protocol to Wayland for area-limited window positioning.
“This is a new attempt to resolve the issues plaguing multi-window applications on Wayland. Those applications want to give the compositor a hint where specifically a window should be placed (or sometimes moved to), as well as whether a window should stay permanently layered above other windows of the same application, regardless of focus.
…
The new protocol in this MR introduces the concept of a “zone”, a new per-client local coordinate system, provided by the compositor and attached to one output, in which it can place its windows. The client can only know window positions relative to the zone the compositor has assigned to it, and a zone can be a defined rectangle with fixed dimensions, or an infinite space without any limits.
A zone can be reshaped by the compositor at any time, and the compositor can “eject” windows from a zone at any time. A client can share the zone with trusted other processes by sharing its handle with them.That way, any external process that is contributing a window can create its window in relation to the other windows by sharing the same coordinate system (as long as the clients trust each other to exchange tokens), as well as overlay or have its windows overlayed by the primary application.
A zone is a per-client entity, and clients must not assume it reflects any real object like the monitor geometry.
A zone uses resolution-independent coordinates, same as the application windows themselves.”
A lot of interesting possibilities with this experimental Zones support for Wayland.
The code is merged for the next Wayland Protocols release.
Also merged this past week for Wayland Protocols is the experimental Cutouts protocol. The cutouts protocol is for letting compositors send information about cut-out display areas to clients such as display notices, waterfalls, low resolution areas of clients, and any other limitations. This xx-cutouts work was led by Phosh developers.
