aboutsummaryrefslogtreecommitdiffstats
path: root/shell/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/main.c')
-rw-r--r--shell/main.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/shell/main.c b/shell/main.c
index 29affc8c72..4848ef92b8 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -77,6 +77,7 @@
#endif
/* Command-line options. */
+static gboolean express_mode = FALSE;
static gboolean start_online = FALSE;
static gboolean start_offline = FALSE;
static gboolean setup_only = FALSE;
@@ -322,6 +323,8 @@ static GOptionEntry entries[] = {
N_("Start in offline mode"), NULL },
{ "online", '\0', 0, G_OPTION_ARG_NONE, &start_online,
N_("Start in online mode"), NULL },
+ { "express", '\0', 0, G_OPTION_ARG_NONE, &express_mode,
+ N_("Start in \"express\" mode"), NULL },
#ifdef KILL_PROCESS_CMD
{ "force-shutdown", '\0', 0, G_OPTION_ARG_NONE, &force_shutdown,
N_("Forcibly shut down Evolution"), NULL },
@@ -412,11 +415,12 @@ create_default_shell (void)
GError *error = NULL;
client = gconf_client_get_default ();
- key = "/apps/evolution/shell/start_offline";
/* Requesting online or offline mode from the command-line
* should be persistent, just like selecting it in the UI. */
+ key = "/apps/evolution/shell/start_offline";
+
if (start_online) {
online = TRUE;
gconf_client_set_bool (client, key, FALSE, &error);
@@ -433,7 +437,19 @@ create_default_shell (void)
if (error != NULL) {
g_warning ("%s", error->message);
- g_error_free (error);
+ g_clear_error (&error);
+ }
+
+ /* Determine whether to run Evolution in "express" mode. */
+
+ key = "/apps/evolution/shell/express_mode";
+
+ if (!express_mode)
+ express_mode = gconf_client_get_bool (client, key, &error);
+
+ if (error != NULL) {
+ g_warning ("%s", error->message);
+ g_clear_error (&error);
}
shell = g_object_new (
@@ -441,6 +457,7 @@ create_default_shell (void)
"name", "org.gnome.Evolution",
"geometry", geometry,
"module-directory", EVOLUTION_MODULEDIR,
+ "express-mode", express_mode,
"online", online,
NULL);