From dbb71f0dfcb9a92e3988b98aea5bf106edd61bec 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 support an option to enable or disable hot corners ... https://bugzilla.gnome.org/show_bug.cgi?id=688320 --- js/ui/layout.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/js/ui/layout.js b/js/ui/layout.js index 775b5759c..8430cb899 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js @@ -1,6 +1,6 @@ // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- -const { Clutter, GLib, GObject, Meta, Shell, St } = imports.gi; +const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi; const Signals = imports.signals; const Background = imports.ui.background; @@ -274,6 +274,13 @@ var LayoutManager = GObject.registerClass({ this._backgroundGroup.lower_bottom(); this._bgManagers = []; + this._interfaceSettings = new Gio.Settings({ + schema_id: 'org.gnome.desktop.interface' + }); + + this._interfaceSettings.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', @@ -377,6 +384,11 @@ var LayoutManager = GObject.registerClass({ }); this.hotCorners = []; + if (!this._interfaceSettings.get_boolean('enable-hot-corners')) { + this.emit('hot-corners-changed'); + return; + } + let size = this.panelBox.height; // build new hot corners