wayland-protocols scope and governance

Daniel Stone daniel at fooishbar.org
Mon Jun 24 11:46:12 UTC 2019

Hi Drew,
Sorry for the long delay - has taken a while to catch up after
holidays. Thanks for pushing this forward though.

On Mon, 6 May 2019 at 01:41, Drew DeVault <sir at cmpwn.com> wrote:
> I chose not to change the wording of the xdg namespace definition,
> despite Daniel's objection. I couldn't come up with a wording that I
> think would make everyone happy - feedback welcome. Under Daniel's
> proposed wording of "catch-all window management", a case is easily made
> for wlr-foreign-toplevel-management:
> https://github.com/swaywm/wlr-protocols/blob/master/unstable/wlr-foreign-toplevel-management-unstable-v1.xml
> I expect this would be controversial. Or perhaps it wouldn't be, and
> would fit into this namespace, but would just be NACK'd by some folks.
> Depends on how strongly integrated desktop folks want to gatekeep the
> XDG namespace. Thoughts?

The important part of my proposed wording was: something which could
be applicable to, and supported by, every kind of environment. There
aren't any compositors out there who aren't implementing xdg-shell or
xdg-output because of philosophical objections to the protocol itself.

On the other hand, there _are_ compositors who do not and will never
implement wlr-foreign-toplevel-management.

I don't think this is 'gatekeeping': what I'm proposing is that the
XDG namespace is defined as it is today, which is the lowest common
denominator you can reasonably expect to be supported across the
entire ecosystem. (I think the only exception we have to this rule is
decorations ...)

There are two realistic facts here. Firstly, non-integrated desktops
_are_ a more recent departure from the original Wayland development
and the systems that first implemented and established it, hence why
they require add-on protocols. Secondly, the protocols clients require
for integrated desktops _are_ a strict subset of what would be offered
on non-integrated desktops.

This is not making value judgements on whether integrated or
non-integrated desktops are 'better' than the other. Realistically,
both approaches exist, and neither are going away. What I'm trying to
do is offer clarity to clients. Retaining XDG as the subset of
protocols supported by both approaches tells people implementing
clients that they can use and rely on those protocols being available,
whether they're running GNOME Shell or phosh or Sway or Weston.

>                             2.1. Protocol namespaces
> a. Namespaces are implemented in practice by prefixing each interface name in a
>    protocol definition (XML) with the namespace name, and an underscore (e.g.
>    "xdg_wm_base").
> b. Protocols in a namespace may optionally use the namespace followed by a dash
>    in the name (e.g. "xdg-shell").
> c. The "xdg" namespace is established for protocols useful for implementing
>    desktop-like systems.

Again, given that we have xdg-shell in use both on phones and in IVI
systems, I would just say that XDG is about globally-applicable window


More information about the wayland-devel mailing list