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>
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);
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: