[RFC v3] Fullscreen shell

Jason Ekstrand jason at jlekstrand.net
Thu Feb 13 20:37:09 PST 2014

This RFC is for the third version of my fullscreen shell implementation.
The contents of this RFC are:

* A new wl_fullscreen_shell protocol
* A weston shell that provides wl_fullscreen_shell
* Additions to the Wayland backend for Weston to take advantage of
* Additions to weston-simple-shm and weston-fullscreen to demonstrate the
  wl_fullscreen_shell protocol.

This RFC improves the second version in a couple of ways:

* Changes the possible presentation modes to allow more options for clients
* Adds support in weston-fullscreen for fully testing wl_fullscreen_shell
* Various bugfixes

The previous version of this RFC can be found here:

The original RFC can be found here:

This RFC is primarily to provide a preview of the implementation, so I am
not going to spam the list with patches.  Instead, you can view it in its
entirety on my github:

Immediately following this e-mail will be a fourth protocol-only RFC that
contains substantial changes to the modesetting portion of the protocol.
Feedback there is appreciated as well.

--Jason Ekstrand

Jason Ekstrand (11):
  Add a fullscreen shell protocol
  Generate/build the fullscreen shell protocol files
  Add a signal for when a seat updates its capabilities
  Add a wl_fullscreen_shell implementation
  simple-shm: Add fullscreen shell support
  toytoolkit: Only require xdg_shell if the window is not custom
  Add wl_fullscreen_shell support to weston-fullscreen
  compositor-wayland: Add support for running on top of
  compositor-wayland: Add a --sprawl option
  Automatically select the wayland backend if WAYLAND_SOCKET is set
  Properly handle running inside a compositor that does not provide

 Makefile.am                   |  32 +++
 clients/fullscreen.c          |  84 +++++-
 clients/simple-shm.c          |  31 ++-
 clients/window.c              |   2 +-
 configure.ac                  |   8 +
 protocol/fullscreen-shell.xml |  70 +++++
 src/compositor-wayland.c      | 347 ++++++++++++++++++++---
 src/compositor.c              |   3 +-
 src/compositor.h              |   1 +
 src/fullscreen-shell.c        | 626 ++++++++++++++++++++++++++++++++++++++++++
 src/input.c                   |   2 +
 11 files changed, 1145 insertions(+), 61 deletions(-)
 create mode 100644 protocol/fullscreen-shell.xml
 create mode 100644 src/fullscreen-shell.c


More information about the wayland-devel mailing list