From d04015f71e47ddbd7ba9d9dcc5e1af4262d8fc47 Mon Sep 17 00:00:00 2001 From: Jack Wickham Date: Wed, 27 Sep 2017 17:44:44 +0100 Subject: [PATCH] Added setting for middle click to close --- Settings.ui | 64 +++++++++++++++++++ prefs.js | 5 ++ ...shell.extensions.dash-to-panel.gschema.xml | 5 ++ windowPreview.js | 4 +- 4 files changed, 77 insertions(+), 1 deletion(-) diff --git a/Settings.ui b/Settings.ui index c7baa2b..8bfb97c 100644 --- a/Settings.ui +++ b/Settings.ui @@ -1263,6 +1263,70 @@ + + + 100 + 80 + True + True + + + True + False + 12 + 12 + 12 + 12 + 32 + + + True + False + True + Middle click to close window + True + 0 + + + 0 + 0 + + + + + True + True + end + center + + + 1 + 0 + + + + + True + False + True + Middle click on the preview to close the window. + True + 40 + 0 + + + + 0 + 1 + 2 + + + + + + diff --git a/prefs.js b/prefs.js index ff4090d..679cf19 100644 --- a/prefs.js +++ b/prefs.js @@ -439,6 +439,10 @@ const Settings = new Lang.Class({ this._builder.get_object('listboxrow_peek_mode_opacity'), 'sensitive', Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('preview-middle-click-close', + this._builder.get_object('preview_middle_click_close_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); this._builder.get_object('enter_peek_mode_timeout_spinbutton').set_value(this._settings.get_int('enter-peek-mode-timeout')); @@ -463,6 +467,7 @@ const Settings = new Lang.Class({ this._builder.get_object('enter_peek_mode_timeout_spinbutton').set_value(this._settings.get_int('enter-peek-mode-timeout')); this._settings.set_value('peek-mode-opacity', this._settings.get_default_value('peek-mode-opacity')); this._builder.get_object('peek_mode_opacity_spinbutton').set_value(this._settings.get_int('peek-mode-opacity')); + this._settings.set_value('preview-middle-click-close', this._settings.get_default_value('preview-middle-click-close')); } else { // remove the settings box so it doesn't get destroyed; diff --git a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml index b46f8f5..bbd1d47 100644 --- a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml +++ b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml @@ -225,6 +225,11 @@ Window peeking mode opacity All windows except for the peeked one have their opacity set to the same value. + + false + Middle click preview to close window + Middle click on the window preview to close that window + 0 Tray font size diff --git a/windowPreview.js b/windowPreview.js index c3dcdd8..83f98c1 100644 --- a/windowPreview.js +++ b/windowPreview.js @@ -767,7 +767,9 @@ const thumbnailPreview = new Lang.Class({ break; case 2: // Middle click - this._closeWindow(); + if (this._getTopMenu()._dtpSettings.get_boolean('preview-middle-click-close')) { + this._closeWindow(); + } break; case 3: // Right click