weston/compositor
Pekka Paalanen 77346a66ec shell: implement screensaver surface type
Implement the basics of screensaver surface management. Exec'ing and
killing the screensaver client is punted for later.

When a surface registered as a screensaver is mapped, it stays hidden
if the screen is not locked, or it is added to the compositor visible
surfaces list if the screen is locked.

The map() is restructured to set initial position first, and stacking
next. This allows SHELL_SURFACE_SCREENSAVER share positioning with
SHELL_SURFACE_FULLSCREEN, while show_screensaver() does its own
wlsc_surface_configure() call.

Also fix centering to the given fullscreen output, not the first output.

Another bug fix: previously configure() would call
wlsc_surface_configure() unconditionally, which assigns an output to
the surface. While the compositor is locked, if an application resizes
its window, we hit configure() and assign an output while the surface is
not in compositor->surface_list. This leads to invalid memory access on
the next call to wlsc_surface_damage_below(). Fix this by not calling
wlsc_surface_configure() for surfaces that are not visible.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
2011-12-14 12:51:01 +02:00
..
.gitignore Update .gitignores 2011-12-08 11:36:36 +02:00
compositor-drm.c compositor-drm: Catch errors in create_output_for_connector 2011-12-08 13:31:00 -05:00
compositor-openwfd.c compositor-*: check for surfaceless_gles2 instead of surfaceless_opengl 2011-11-01 11:18:39 -04:00
compositor-wayland.c wl_shell_surface adaptation 2011-12-04 14:54:26 -05:00
compositor-x11.c compositor-x11: convert (some) of X11 buttons to linux input 2011-12-08 13:20:40 -05:00
compositor.c Remove stale comment 2011-12-08 10:24:25 -05:00
compositor.h compositor: refactor client forking code 2011-12-08 10:42:00 +02:00
data-device.c Implement the new dnd/selection protocol 2011-11-23 16:20:28 -05:00
evdev.c evdev: run flush_motion only when needed 2011-12-12 13:00:03 +02:00
image-loader.c compositor: Split backends into modules 2011-05-02 22:09:20 -04:00
Makefile.am compositor: Split the animation code out of tablet-shell 2011-12-04 15:30:47 -05:00
screenshooter.c Change remaining GPLv2 headers to MIT 2011-09-19 17:29:24 -04:00
shell.c shell: implement screensaver surface type 2011-12-14 12:51:01 +02:00
switcher.c Make use of wl_resource.destroy_listener_list for surfaces. 2011-05-06 16:03:33 -04:00
tablet-shell.c compositor: refactor client forking code 2011-12-08 10:42:00 +02:00
tty.c compositor-tty: Fix ioctl error handling 2011-12-05 09:48:42 -05:00
util.c compositor: Move a few more utils to util.c 2011-12-04 15:47:16 -05:00
xserver-launcher.c x11: Fix last-minute edit bug 2011-10-12 00:01:18 -04:00