[gnome-shell/wip/fmuellner/optional-hot-corner: 869/869] layout: Make the hot corner optional



commit 8853408748e5dc592dccaf50ffd067742c091ffb
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu Jun 8 17:07:56 2017 +0200

    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.
       </description>
     </key>
+    <key name="enable-hot-corners" type="b">
+      <default>false</default>
+      <summary>Enable hot corners</summary>
+      <description>
+        If true, the overview can be accessed by moving the mouse to the
+        top-left corner.
+      </description>
+    </key>
     <key name="favorite-apps" type="as">
       <default>[ 'epiphany.desktop', 'evolution.desktop', 'rhythmbox.desktop', 'shotwell.desktop', 
'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
       <summary>List of desktop file IDs for favorite applications</summary>
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


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