[PATCH weston v3 0/8] Implement screensaver/idle inhibition
Bryce Harrington
bryce at osg.samsung.com
Thu Apr 7 23:44:15 UTC 2016
This patchset implements screensaver inhibition for Weston (see separate
wayland-protocols patch).
The first three patches set up some infrastructure adjustments that will
be needed in the latter patches. This makes idle behavior tracked on a
per-seat basis, so that shells can connect an inhibit on an active
surface with the seat generating the input events for that surface.
Surfaces gain parameters for tracking inhibition requests from clients,
and tracking activity as defined by shells.
The fourth patch integrates these bits to implement the core
functionality of per-output idle management.
Patches 5, 6, and 7 shift the shells to use the new functionality. Each
shell can make it's own decision as to what 'active' means, but this
just sets the assumption to "has the keyboard focus".
Next come the actual client and server protocol implementation. With
these, clients are able to specify inhibition and the server will honor
it. The client patch includes an example implementation for the
simple-shm client.
The final patch adjusts how the fade-out animation works in
desktop-shell. Instead of a single fade-out surface stretched across
all outputs, separate fade-out surfaces are created and managed for each
output. When the system idles, only outputs without inhibiting client
surfaces are faded; if the client terminates while the system is still
in idle mode, its outputs are then faded too.
v2:
+ Fixed fade-out animation (see above)
+ Updated patchset for the protocol rename from screensaver-inhibit
to idle-inhibit (see the separate wayland-protocol patch)
v3:
+ Split keyboard focus assignment to separate routine from surface
activation (as suggested by Giulio Camuffo)
Bryce Harrington (8):
compositor: Track idle as a per-seat property
compositor: Track inhibition state in weston_surface
compositor: If the output is inhibited, don't idle it off
desktop-shell: Support tracking active surfaces
fullscreen-shell: Support tracking active surfaces
ivi-shell: Support tracking active surfaces
Define the screensaver inhibitor client interface
desktop-shell: Enable per-output fade animations
Makefile.am | 13 ++-
clients/simple-shm.c | 28 ++++-
configure.ac | 2 +
desktop-shell/shell.c | 172 +++++++++++++++++++------------
desktop-shell/shell.h | 14 +--
fullscreen-shell/fullscreen-shell.c | 52 ++++++++--
ivi-shell/ivi-shell.c | 14 ++-
ivi-shell/ivi-shell.h | 2 +
src/compositor.c | 199 ++++++++++++++++++++++++++++++++++--
src/compositor.h | 32 +++++-
src/input.c | 54 +++-------
tests/weston-test.c | 8 +-
12 files changed, 449 insertions(+), 141 deletions(-)
--
1.9.1
More information about the wayland-devel
mailing list