Exploring the Need for a Standardized Window Management API within or alongside Wayland

Wayne Sherman wsherman at gmail.com
Fri Nov 3 16:33:10 UTC 2023

Is a unified approach for window management in the Wayland ecosystem needed?
(i.e how can the end user or system designer control the size,
position, and layer of top level application windows).

Wayland's design emphasizes security, simplicity, and a clear
separation of responsibilities between the compositor and client
applications. This has no doubt paved the way for a more secure and
stable desktop environment.  Yet, as users and developers navigate
this shift, especially those handling applications with specific
window management needs, they face challenges due to the absence of
standardized control over window size and position within the current
protocol. Acknowledging these challenges, I would like to initiate a
conversation around the potential benefits and feasibility of
introducing a standardized API or protocol, which could be designed as
an intrinsic part of Wayland or as an independent, interoperable
specification running alongside it. This is crucial for those
transitioning from X11 to Wayland, where the ability to directly
manage window properties is an essential feature.

Certain applications and workflows, particularly those involving
complex window arrangements, dynamic window resizing, and precise
positioning (e.g., tiling window managers, graphical editing tools,
and presentation software), can greatly benefit from having a measure
of control over their window geometry and stacking. Currently,
attempts at providing this are being done by a variety of
compositor-specific protocols and extensions, which can lead to
fragmentation and inconsistent user and developer experiences across
different environments.  A standard API or protocol would only serve
the needs of these applications and would also aim to prevent the
proliferation of inconsistent and ad hoc solutions.

Some goals of a standardized approach:

- Maintain the security and stability principles of Wayland.
- Allow applications with legitimate needs to manage their window
geometry in a way that is consistent across different compositors.
- Provide a clear and unified direction for developers, which could
encourage wider adoption and smoother transitions from other systems
to Wayland.

More information about the wayland-devel mailing list