[PATCH fullscreen-shell v5 00/18] Add a fullscreen shell protocol

Jason Ekstrand jason at jlekstrand.net
Mon Mar 17 17:35:19 PDT 2014

This is version 5 of my wl_fullscreen_shell patchset.  Version 4 can be
found here:


For easier testing/review, this patch series can also be found on the
fullscreen-shell-v5 branch on my github page:


Changes since version 5:

 * Rebased on weston master.

 * I re-named the protocol _wl_fullscreen_shell to mark it explicitly as
   experimental.  If/when it goes mainline, it will get re-named with the
   leading underscore removed.

 * fullscreen-shell.c has been moved into its own fullscreen-shell folder
   to better match desktop-shell and the proposed ivi-shell.

 * A capabilities mechanism has been added to allow the compositor to
   advertise capabilities or other hints to the client.  More details on
   this can be found in the protocol patch itself.
 * Added support to weston-fullscreen to draw its own cursor in the case
   cursor it draws itself is different from any of the standard weston
   cursors to allow for instant identification of whether it properly
   received the capability.

 * Incorperated various fixes from Bryce Harrington.  Thanks, Bryce!

Jason Ekstrand (18):
  Add a fullscreen shell protocol
  Generate/build the fullscreen shell protocol files
  Add a signal for when a seat updates its capabilities
  Add possible capabilities CURSOR_PLANE and ARBITRARY_MODE
  Add a wl_fullscreen_shell implementation
  simple-shm: Add wl_fullscreen_shell support
  toytoolkit: Only require xdg_shell if the window is not custom
  toytoolkit: Expose output make and model
  toytoolkit: Don't crash if wl_data_device_manager is not present
  weston-fullscreen: Add wl_fullscreen_shell support
  weston-fullscreen: Add cursor drawing support and properly handle    
  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
  compositor-wayland: Properly handle running inside a compositor that
    does not provide keymaps
  Add support for running with a primary client
  gl-renderer: Fix read_pixels in the case where we have output borders
  Add a screen sharing plugin

 Makefile.am                         |   57 +-
 clients/fullscreen.c                |  263 ++++++++-
 clients/simple-shm.c                |   31 +-
 clients/window.c                    |   48 +-
 clients/window.h                    |    6 +
 configure.ac                        |   21 +
 fullscreen-shell/fullscreen-shell.c |  830 +++++++++++++++++++++++++++
 protocol/fullscreen-shell.xml       |  206 +++++++
 src/compositor-drm.c                |    5 +
 src/compositor-rdp.c                |    2 +
 src/compositor-wayland.c            |  537 +++++++++++++++--
 src/compositor.c                    |   49 +-
 src/compositor.h                    |    7 +
 src/gl-renderer.c                   |    4 +
 src/input.c                         |    2 +
 src/screen-share.c                  | 1085 +++++++++++++++++++++++++++++++++++
 16 files changed, 3070 insertions(+), 83 deletions(-)
 create mode 100644 fullscreen-shell/fullscreen-shell.c
 create mode 100644 protocol/fullscreen-shell.xml
 create mode 100644 src/screen-share.c


More information about the wayland-devel mailing list