main: Add generic --mode switch
We are going to need "special" modes other than GDM, for instance for the initial setup[0]. Rather than adding one command line switch per mode (and logic to deal with multiple switches being given at the same time), add a generic --mode switch to specify the mode as string. [0] https://live.gnome.org/GnomeOS/Design/Whiteboards/InitialSetup https://bugzilla.gnome.org/show_bug.cgi?id=676156
This commit is contained in:
parent
a9a863aab4
commit
5617f91281
13
src/main.c
13
src/main.c
@ -36,6 +36,7 @@ extern GType gnome_shell_plugin_get_type (void);
|
|||||||
#define OVERRIDES_SCHEMA "org.gnome.shell.overrides"
|
#define OVERRIDES_SCHEMA "org.gnome.shell.overrides"
|
||||||
|
|
||||||
static gboolean is_gdm_mode = FALSE;
|
static gboolean is_gdm_mode = FALSE;
|
||||||
|
static char *session_mode = NULL;
|
||||||
|
|
||||||
#define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER 1
|
#define DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER 1
|
||||||
#define DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER 4
|
#define DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER 4
|
||||||
@ -257,11 +258,17 @@ GOptionEntry gnome_shell_options[] = {
|
|||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"gdm-mode", 0, 0, G_OPTION_ARG_NONE,
|
"gdm-mode", 0, G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE,
|
||||||
&is_gdm_mode,
|
&is_gdm_mode,
|
||||||
N_("Mode used by GDM for login screen"),
|
N_("Mode used by GDM for login screen"),
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"mode", 0, 0, G_OPTION_ARG_STRING,
|
||||||
|
&session_mode,
|
||||||
|
N_("Use a specific mode, e.g. \"gdm\" for login screen"),
|
||||||
|
"MODE"
|
||||||
|
},
|
||||||
{ NULL }
|
{ NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -324,7 +331,9 @@ main (int argc, char **argv)
|
|||||||
g_log_set_default_handler (default_log_handler, sender);
|
g_log_set_default_handler (default_log_handler, sender);
|
||||||
|
|
||||||
/* Initialize the global object */
|
/* Initialize the global object */
|
||||||
if (is_gdm_mode)
|
if (g_strcmp0 (session_mode, "gdm") == 0)
|
||||||
|
session_type = SHELL_SESSION_GDM;
|
||||||
|
else if (is_gdm_mode)
|
||||||
session_type = SHELL_SESSION_GDM;
|
session_type = SHELL_SESSION_GDM;
|
||||||
else
|
else
|
||||||
session_type = SHELL_SESSION_USER;
|
session_type = SHELL_SESSION_USER;
|
||||||
|
Loading…
Reference in New Issue
Block a user