[gnome-shell] windowManager: Use the correct schema for 'dynamic-workspaces'



commit 5cd913a527f9983ba1027e03443abc89185c6dcc
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Jun 6 18:47:56 2013 +0200

    windowManager: Use the correct schema for 'dynamic-workspaces'
    
    We currently monitor the shell's override schema for changes to
    the 'dynamic-workspaces' key, which ends up being the wrong
    schema in classic mode. With the new ability to use mode-specific
    overides, we can finally fix this.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=701717

 js/ui/main.js          |    6 ++++++
 js/ui/windowManager.js |    4 ++--
 2 files changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/main.js b/js/ui/main.js
index aec10d1..0774b3a 100644
--- a/js/ui/main.js
+++ b/js/ui/main.js
@@ -71,6 +71,7 @@ let _startDate;
 let _defaultCssStylesheet = null;
 let _cssStylesheet = null;
 let _a11ySettings = null;
+let dynamicWorkspacesSchema = null;
 
 function _sessionUpdated() {
     _loadDefaultStylesheet();
@@ -121,6 +122,11 @@ function _initializePrefs() {
     let keys = new Gio.Settings({ schema: sessionMode.overridesSchema }).list_keys();
     for (let i = 0; i < keys.length; i++)
         Meta.prefs_override_preference_schema(keys[i], sessionMode.overridesSchema);
+
+    if (keys.indexOf('dynamic-workspaces') > -1)
+        dynamicWorkspacesSchema = sessionMode.overridesSchema;
+    else
+        dynamicWorkspacesSchema = 'org.gnome.mutter';
 }
 
 function _initializeUI() {
diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
index 5f96a5f..89ccf69 100644
--- a/js/ui/windowManager.js
+++ b/js/ui/windowManager.js
@@ -93,8 +93,8 @@ const WorkspaceTracker = new Lang.Class({
         global.screen.connect('window-left-monitor', Lang.bind(this, this._windowLeftMonitor));
         global.screen.connect('restacked', Lang.bind(this, this._windowsRestacked));
 
-        this._overrideSettings = new Gio.Settings({ schema: 'org.gnome.shell.overrides' });
-        this._overrideSettings.connect('changed::dynamic-workspaces', Lang.bind(this, 
this._queueCheckWorkspaces));
+        this._workspaceSettings = new Gio.Settings({ schema: Main.dynamicWorkspacesSchema });
+        this._workspaceSettings.connect('changed::dynamic-workspaces', Lang.bind(this, 
this._queueCheckWorkspaces));
 
         this._nWorkspacesChanged();
     },


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]