overviewControls: Handle overlay key

It's where all the fun state is handled now, so move the super-key
handling there as well, in preparation of making it a bit more
sophisticated.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1736>
This commit is contained in:
Florian Müllner 2020-06-28 02:45:18 +02:00
parent 46361c9a04
commit 1ad45a8232
2 changed files with 11 additions and 10 deletions

View File

@ -50,8 +50,6 @@ const ParentalControlsManager = imports.misc.parentalControlsManager;
const Config = imports.misc.config; const Config = imports.misc.config;
const Util = imports.misc.util; const Util = imports.misc.util;
const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard';
const STICKY_KEYS_ENABLE = 'stickykeys-enable';
const WELCOME_DIALOG_LAST_SHOWN_VERSION = 'welcome-dialog-last-shown-version'; const WELCOME_DIALOG_LAST_SHOWN_VERSION = 'welcome-dialog-last-shown-version';
// Make sure to mention the point release, otherwise it will show every time // Make sure to mention the point release, otherwise it will show every time
// until this version is current // until this version is current
@ -96,7 +94,6 @@ var locatePointer = null;
let _startDate; let _startDate;
let _defaultCssStylesheet = null; let _defaultCssStylesheet = null;
let _cssStylesheet = null; let _cssStylesheet = null;
let _a11ySettings = null;
let _themeResource = null; let _themeResource = null;
let _oskResource = null; let _oskResource = null;
@ -238,13 +235,6 @@ function _initializeUI() {
new PointerA11yTimeout.PointerA11yTimeout(); new PointerA11yTimeout.PointerA11yTimeout();
_a11ySettings = new Gio.Settings({ schema_id: A11Y_SCHEMA });
global.display.connect('overlay-key', () => {
if (!_a11ySettings.get_boolean(STICKY_KEYS_ENABLE))
overview.toggle();
});
global.connect('locate-pointer', () => { global.connect('locate-pointer', () => {
locatePointer.show(); locatePointer.show();
}); });

View File

@ -16,6 +16,8 @@ const WorkspacesView = imports.ui.workspacesView;
const SMALL_WORKSPACE_RATIO = 0.15; const SMALL_WORKSPACE_RATIO = 0.15;
const DASH_MAX_HEIGHT_RATIO = 0.15; const DASH_MAX_HEIGHT_RATIO = 0.15;
const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard';
var SIDE_CONTROLS_ANIMATION_TIME = Overview.ANIMATION_TIME; var SIDE_CONTROLS_ANIMATION_TIME = Overview.ANIMATION_TIME;
var ControlsState = { var ControlsState = {
@ -363,6 +365,15 @@ class ControlsManager extends St.Widget {
}, },
}); });
this._a11ySettings = new Gio.Settings({ schema_id: A11Y_SCHEMA });
global.display.connect('overlay-key', () => {
if (this._a11ySettings.get_boolean('stickykeys-enable'))
return;
Main.overview.toggle();
});
Main.wm.addKeybinding( Main.wm.addKeybinding(
'toggle-application-view', 'toggle-application-view',
new Gio.Settings({ schema_id: WindowManager.SHELL_KEYBINDINGS_SCHEMA }), new Gio.Settings({ schema_id: WindowManager.SHELL_KEYBINDINGS_SCHEMA }),