diff options
author | Pekka Paalanen <ppaalanen@gmail.com> | 2011-11-24 11:34:05 +0200 |
---|---|---|
committer | Pekka Paalanen <ppaalanen@gmail.com> | 2011-12-14 11:17:00 +0200 |
commit | 6e16811e5e329ca5101b57b3da36a6ffc5e1f3ef (patch) | |
tree | af13e5c42003f62fed19c720cbf63d35da8a248c /clients/Makefile.am | |
parent | 12c05b74adcb6b84aaea8ccb1324c8005faa7ff0 (diff) |
protocol: add screensaver interface
Add the screensaver interface to the desktop-shell protocol file. Also
add stubs for it in the compositor, and make wscreensaver to bind to the
screensaver interface. Wscreensaver gets a new option --demo to retain
the current behaviour as a regular wayland client.
When a screensaver application starts, it should bind to the screensaver
interface, enumerate all outputs, create a surface per output, and
register those surfaces via screensaver::set_surface request. Then it
continues with the usual animation loop, waiting for frame events. The
compositor will decide, when the given screensaver surfaces are
displayed. A screensaver application should respond to outputs coming
and going away by creating and destroying surfaces.
The compositor is supposed to activate a screensaver by exec'ing it, and
stop the screensaver by killing the client process. Only one client may
be bound to the screensaver interface at a time. If there already is a
client, the compositor could either kill it first, or not exec a new
one.
Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
Diffstat (limited to 'clients/Makefile.am')
-rw-r--r-- | clients/Makefile.am | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/clients/Makefile.am b/clients/Makefile.am index 1fe6ff5..490e403 100644 --- a/clients/Makefile.am +++ b/clients/Makefile.am @@ -70,7 +70,12 @@ smoke_LDADD = $(toolkit_libs) resizor_SOURCES = resizor.c resizor_LDADD = $(toolkit_libs) -wscreensaver_SOURCES = wscreensaver.c wscreensaver-glue.c glmatrix.c +wscreensaver_SOURCES = \ + wscreensaver.c \ + desktop-shell-client-protocol.h \ + desktop-shell-protocol.c \ + wscreensaver-glue.c \ + glmatrix.c wscreensaver_LDADD = $(toolkit_libs) -lGLU eventdemo_SOURCES = eventdemo.c |