From af0e34ce368ad3aabb366871d5e415fa33e7c54d Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Fri, 2 Dec 2011 10:59:17 +0200 Subject: [PATCH] shell: center the unlock dialog Signed-off-by: Pekka Paalanen --- compositor/shell.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/compositor/shell.c b/compositor/shell.c index ec7df87..e32e8bc 100644 --- a/compositor/shell.c +++ b/compositor/shell.c @@ -360,6 +360,13 @@ shell_surface_set_transient(struct wl_client *client, shsurf->type = SHELL_SURFACE_TRANSIENT; } +static struct wlsc_output * +get_default_output(struct wlsc_compositor *compositor) +{ + return container_of(compositor->output_list.next, + struct wlsc_output, link); +} + static void shell_surface_set_fullscreen(struct wl_client *client, struct wl_resource *resource) @@ -374,8 +381,7 @@ shell_surface_set_fullscreen(struct wl_client *client, /* FIXME: Fullscreen on first output */ /* FIXME: Handle output going away */ - output = container_of(es->compositor->output_list.next, - struct wlsc_output, link); + output = get_default_output(es->compositor); es->output = output; shsurf->saved_x = es->x; @@ -946,6 +952,9 @@ map(struct wlsc_shell *base, case SHELL_SURFACE_FULLSCREEN: center_on_output(surface, surface->fullscreen_output); break; + case SHELL_SURFACE_LOCK: + center_on_output(surface, get_default_output(compositor)); + break; default: ; } -- 2.7.4