desktop-shell: add option to not use locking

Add an option to the desktop-shell ini file that defines whether screen
locking is used or not.

Useful for testing screensaver interactions without a lock surface.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
diff --git a/clients/desktop-shell.c b/clients/desktop-shell.c
index 23c8c40..acd39e8 100644
--- a/clients/desktop-shell.c
+++ b/clients/desktop-shell.c
@@ -96,10 +96,12 @@
 static char *key_launcher_icon;
 static char *key_launcher_path;
 static void launcher_section_done(void *data);
+static int key_locking = 1;
 
 static const struct config_key shell_config_keys[] = {
 	{ "background-image", CONFIG_KEY_STRING, &key_background_image },
 	{ "panel-color", CONFIG_KEY_INTEGER, &key_panel_color },
+	{ "locking", CONFIG_KEY_BOOLEAN, &key_locking },
 };
 
 static const struct config_key launcher_config_keys[] = {
@@ -513,6 +515,11 @@
 {
 	struct desktop *desktop = data;
 
+	if (!key_locking) {
+		desktop_shell_unlock(desktop->shell);
+		return;
+	}
+
 	if (!desktop->unlock_dialog) {
 		desktop->unlock_dialog = unlock_dialog_create(desktop);
 		desktop->unlock_dialog->desktop = desktop;