shell: let screensaver wake up the compositor

Screensavers become visible the first time only after the compositor has
gone to sleep state. Therefore, to see screensaver in the start, wake up
the compositor. After a second idle timeout, the compositor will stay
sleeping.

We could also not apply this patch. It would mean the screensavers would
be visible only with the unlock dialog, and not become visible
automatically.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
This commit is contained in:
Pekka Paalanen 2011-12-01 16:23:57 +02:00
parent 77346a66ec
commit baeb6a1dc1

View File

@ -859,6 +859,9 @@ lock(struct wlsc_shell *base)
wl_list_for_each(shsurf, &shell->screensaver.surfaces, link)
show_screensaver(shell, shsurf);
if (!wl_list_empty(&shell->screensaver.surfaces))
wlsc_compositor_wake(shell->compositor);
/* reset pointer foci */
wlsc_compositor_repick(shell->compositor);
@ -968,8 +971,10 @@ map(struct wlsc_shell *base,
break;
case SHELL_SURFACE_SCREENSAVER:
/* If locked, show it. */
if (shell->locked)
if (shell->locked) {
show_screensaver(shell, shsurf);
wlsc_compositor_wake(compositor);
}
do_configure = 0;
break;
default: