diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -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")) |