[PATCH] xdg-shell - yet another proposal (this time for real).

Rafael Antognolli rafael.antognolli at intel.com
Thu Nov 7 01:32:10 PST 2013

Hello all,

Following is the same description as in my previous wrong email, but with the
correct patch attached.

I'm trying to summarize part of the discussion in this new patch, but it's not
the final one.

As far as I understood, the goal is to end up with something like this for
keyboard focus:

W = compositor
A, Z = client surfaces

Viewport change:
W to Z: You are deactivated.
W to A: You are activated.
A to W: Do these things.

So, I added "activated" and "deactivated" events, that the compositor can use
to inform clients what they are. And there's a take_focus request that can be
used by a client to ask for activation, but it's up to the compositor to

Regarding the surface fullscreen, maximized, etc, I added surface states as
enum's, that can be set/unset, and events from the compositor to request that a
given state should be set/unset.

For those states that take parameters, I added separate requests for setting
the parameters before setting the state. It should all take place after commit
anyway, so that shouldn't matter much. Take a look at the docs and say what you

I didn't change transient/popup surface types yet, but from what has been said
in the ML thread, I think they also should be surface states now. Correct me if
I'm wrong. Otherwise I'm going to send an updated version with those changes

I also talked to jekstrand (I think) about stacking, will send an updated
version with what I understood from that tomorrow. Should be simple.

Any feedback is appreciated, and thank you guys for the input so far and the

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

 protocol/Makefile.am     |   2 +-
 protocol/xdg-surface.xml | 381 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 382 insertions(+), 1 deletion(-)
 create mode 100644 protocol/xdg-surface.xml


More information about the wayland-devel mailing list