From baeb6a1dc1239faec0258497cd50a03507eab2ad Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Thu, 1 Dec 2011 16:23:57 +0200 Subject: [PATCH] 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 --- compositor/shell.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/compositor/shell.c b/compositor/shell.c index 2a6d587..ec7df87 100644 --- a/compositor/shell.c +++ b/compositor/shell.c @@ -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: -- 2.7.4