summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main.c b/src/main.c
index 55f66839..a2f497cf 100644
--- a/src/main.c
+++ b/src/main.c
@@ -34,6 +34,8 @@ extern GType gnome_shell_plugin_get_type (void);
#define SHELL_DBUS_SERVICE "org.gnome.Shell"
#define MAGNIFIER_DBUS_SERVICE "org.gnome.Magnifier"
+#define OVERRIDES_SCHEMA "org.gnome.shell.overrides"
+
#define WM_NAME "GNOME Shell"
#define GNOME_WM_KEYBINDINGS "Mutter,GNOME Shell"
@@ -168,6 +170,23 @@ shell_dbus_init (gboolean replace)
}
static void
+shell_prefs_init (void)
+{
+ ShellGlobal *global = shell_global_get ();
+ GSettings *settings = shell_global_get_overrides_settings (global);
+ char **keys, **k;
+
+ if (!settings)
+ return;
+
+ keys = g_settings_list_keys (settings);
+ for (keys = k = g_settings_list_keys (settings); *k; k++)
+ meta_prefs_override_preference_schema (*k, OVERRIDES_SCHEMA);
+
+ g_strfreev (keys);
+}
+
+static void
shell_introspection_init (void)
{
@@ -434,6 +453,8 @@ main (int argc, char **argv)
_shell_global_init ("session-mode", session_mode, NULL);
+ shell_prefs_init ();
+
ecode = meta_run ();
if (g_getenv ("GNOME_SHELL_ENABLE_CLEANUP"))