[PATCH] Add xdg_shell protocol.

antognolli at gmail.com antognolli at gmail.com
Fri Jul 5 12:39:50 PDT 2013

From: Rafael Antognolli <rafael.antognolli at intel.com>

Hello all,

After some discussions about how to add some features to the wl_shell protocol
and how it would possibly break existing behavior, the idea of a xdg_shell
protocol appeared, similar to what ewmh is to X11. It would be a shell
interface defined by features needed by the desktop shells that would implement
a Wayland compositor, with the needs defined by the toolkits implementing a
Wayland backend.

This shell protocol will not be part of the Wayland core protocol, thus it can
keep being developed and have its API changed until we reach a point where it
is good enough from the point of view of more than only one compositor.

The following patch only adds the xdg_shell.xml as a copy of the original
wl_shell protocol, but keep in mind that it will be changed and have its API
broken. It also only installs the .xml file, but does not necessarily generate
the headers and lib using wayland_scanner.

The idea would be to generate these from the compositor and toolkit
implementing such API, but I wasn't able to use wayland_scanner to generate the
code from more than one path. It means that we would have to copy the
xdg_shell.xml just like what is done with some other protocol extensions.
Please let me know if there's a way to use it directly from its installation

Neil and Rob, please add any comments if possible. I don't know if I was clear
enough about the intention of this change.

At least in the beginning, the xdg_shell would have some surface types removed,
in favor of adding surface states, and the transient surface type would
possibly be changed too.

There's still a discussion if this would be a minimal common denominator that
all desktop shells would implement, with additional features being added to
<another_desktop>_shell.xml, or if it would be a set of features that some
desktop shells could not necessarily implement.

Thanks for any comments.

Rafael Antognolli (1):
  xdg_shell: Add a new shell protocol.

 configure.ac                |   1 +
 protocol/Makefile.am        |   3 +
 protocol/xdg_shell.xml      | 326 ++++++++++++++++++++++++++++++++++++++++++++
 src/Makefile.am             |   2 +-
 src/wayland-xdg-shell.pc.in |  10 ++
 5 files changed, 341 insertions(+), 1 deletion(-)
 create mode 100644 protocol/xdg_shell.xml
 create mode 100644 src/wayland-xdg-shell.pc.in


More information about the wayland-devel mailing list