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
This commit is contained in:
parent
91844e48e9
commit
5cd913a527
@ -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() {
|
||||
|
@ -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();
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user