shell: center the unlock dialog

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
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 @@
 	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 @@
 
 	/* 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 @@
 	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:
 		;
 	}