[PATCH weston 00/17] Follow up from the last xdg-shell series

Jonas Ådahl jadahl at gmail.com
Tue Apr 7 02:01:15 PDT 2015


This series is a follow up mostly addressing the issues raised by Pekka
during the last series as well as some other clarifications.

The patches them self is a better in depth description of the changes, but 
there are a couple of things that I'd like to bring up more explicitly.


This series again bumps the unstable version and breaks backward
compatibility (it moves error enums and introduces a new one).

If there are any more breaking changes, I think we should
push those together and avoiding unstable version 6. This brings me to
the next point:


Fullscreen as specified in xdg-shell is more limiting than the one in
wl_shell_surface, and it might be a good idea to consider make
fullscreening a bit more powerful in xdg_surface.

The current difference between wl_shell_surface and xdg_surface in regard
to fullscreening is that while xdg_surface allows for specifying what
output the surface should be fullscreened on, while wl_shell_surface also
allows specifying a method (scale, driver, fill) and for the driver method
a refresh rate.

As of this series, the method of xdg_surface.set_fullscreen is identical to
the wl_shell_surface 'fill' fullscreen method.

The question is whether a 'scale' and/or a 'driver' method should be made

Such a 'scale' method would more or less overlap completely with the
wl_scaler protocol, so might be completely unnecessary. Does it provide
any benefit over using wl_scaler?

The 'driver' method could be good thing to have, assuming it has any
benefit over scaling (i.e. specify refresh rate, (memory bandwidth?)),
as I suspect it wouldn't be any compositors policy to change monitor
resolution for any fullscreen surface where its applicable.

So the question is, how much, if any, of the fullscreen controls should
be made available via xdg_surface's fullscreen request?

Side note: should wl_scaler not specify any kind of scaling filter? For
example pixel graphics content could not use wl_scalar for fullscreen
scaling if it could not enforce a 'nearest' filter.


Jonas Ådahl (17):
  xdg-shell: Add note about that use_unstable will go away
  xdg-shell: Require proper object tree destruction
  xdg-shell: Document error conditions when popup and surface getters
  xdg-shell: Move xdg_shell.get_xdg_popup errors to xdg_shell
  xdg-shell: Document responsibilities regarding ping events
  xdg-shell: Require a buffer and a wl_surface.commit for mapping a
  xdg-shell: Document that xdg_surface.set_window_geometry needs a
  xdg-shell: Further clarify xdg_surface.move semantics
  xdg-shell: Fix a couple of typos
  xdg-shell: Clarify the meaning of app ID and give example
  xdg-shell: Further clarify xdg_surface.resize semantics
  xdg-shell: Some minor clarifications
  xdg-shell: Some xdg_popup clarifications
  xdg-shell: Specify the meaning of 0x0 window geometry in configure
  xdg-shell: Document the set_maximized and unsetmaximized requests
  xdg-shell: Specify fullscreen size-mismatch handling
  xdg-shell: Bump unstable version to 6

 clients/simple-damage.c |   2 +-
 clients/simple-egl.c    |   2 +-
 clients/simple-shm.c    |   2 +-
 clients/window.c        |   2 +-
 desktop-shell/shell.c   |  65 ++++++++++++-----
 protocol/xdg-shell.xml  | 183 +++++++++++++++++++++++++++++++++++++++---------
 6 files changed, 198 insertions(+), 58 deletions(-)


More information about the wayland-devel mailing list