diff --git a/js/ui/main.js b/js/ui/main.js index aec10d1e1..0774b3aad 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 5f96a5fcc..89ccf694e 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(); },