From 8853408748e5dc592dccaf50ffd067742c091ffb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 8 Jun 2017 17:07:56 +0200 Subject: [PATCH] layout: Make the hot corner optional Whether people love or hate the hot corner depends in large extents on hardware sensitivity and habits, which is hard to get right universally. So bite the bullet and add an option to enable or disable hot corners ... https://bugzilla.gnome.org/show_bug.cgi?id=688320 --- data/org.gnome.shell.gschema.xml.in | 8 ++++++++ js/ui/layout.js | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in index 24e2a75b0..15ff4df75 100644 --- a/data/org.gnome.shell.gschema.xml.in +++ b/data/org.gnome.shell.gschema.xml.in @@ -38,6 +38,14 @@ load all extensions regardless of the versions they claim to support. + + false + Enable hot corners + + If true, the overview can be accessed by moving the mouse to the + top-left corner. + + [ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ] List of desktop file IDs for favorite applications diff --git a/js/ui/layout.js b/js/ui/layout.js index 30e750dc5..268321329 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -267,6 +267,9 @@ var LayoutManager = GObject.registerClass({ this._backgroundGroup.lower_bottom(); this._bgManagers = []; + global.settings.connect('changed::enable-hot-corners', + this._updateHotCorners.bind(this)); + // Need to update struts on new workspaces when they are added let workspaceManager = global.workspace_manager; workspaceManager.connect('notify::n-workspaces', @@ -370,6 +373,11 @@ var LayoutManager = GObject.registerClass({ }); this.hotCorners = []; + if (!global.settings.get_boolean('enable-hot-corners')) { + this.emit('hot-corners-changed'); + return; + } + let size = this.panelBox.height; // build new hot corners