diff --git a/src/phosh.c b/src/phosh.c index 9e14c2ba002fd99e5590d445a832a90684dda485..5c7f19ff5f05d44b3004e414b2ff95de4dbb0954 100644 --- a/src/phosh.c +++ b/src/phosh.c @@ -779,7 +779,6 @@ phosh_shell_constructed (GObject *object) background_create (self); #endif lockscreen_prepare (self); - phosh_shell_lock (self); } @@ -909,6 +908,20 @@ int main(int argc, char *argv[]) { g_autoptr(GSource) sigterm; GMainContext *context; + GOptionContext *opt_context; + GError *err = NULL; + gboolean unlocked; + + const GOptionEntry options [] = { + {"unlocked", 'U', 0, G_OPTION_ARG_NONE, &unlocked, + "Don't start with screen locked", NULL}, + { NULL, 0, 0, G_OPTION_ARG_NONE, NULL, NULL, NULL } + }; + + opt_context = g_option_context_new ("- A phone graphical shell"); + g_option_context_add_main_entries (opt_context, options, NULL); + g_option_context_add_group (opt_context, gtk_get_option_group (TRUE)); + g_option_context_parse (opt_context, &argc, &argv, &err); textdomain (GETTEXT_PACKAGE); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); @@ -921,6 +934,9 @@ int main(int argc, char *argv[]) g_source_attach (sigterm, context); _phosh = g_object_new (PHOSH_TYPE_SHELL, NULL); + if (!unlocked) + phosh_shell_lock (_phosh); + gtk_main (); g_object_unref (_phosh); _phosh = NULL;