[gnome-shell/gnome-3-28] panel: Allow restoring maximized/tiled windows by touch



commit 721ce54037cc07a82927cfdfb7928dadad7d7791
Author: Florian Müllner <fmuellner gnome org>
Date:   Thu May 24 15:28:36 2018 +0000

    panel: Allow restoring maximized/tiled windows by touch
    
    Maximized and tiled windows can be restored with a drag gesture,
    not only from their titlebars, but also from any non-reactive
    parts of the top bar above the window. Currently this only works
    for actual pointer devices, extend the behavior to handle touch
    as well.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/112
    
    
    (cherry picked from commit 905801b178fffa13cf1161b1ccfc8b1202f97efc)

 js/ui/panel.js | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 2f593247d..d44ed9fec 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -796,6 +796,7 @@ var Panel = new Lang.Class({
         this.actor.connect('get-preferred-height', this._getPreferredHeight.bind(this));
         this.actor.connect('allocate', this._allocate.bind(this));
         this.actor.connect('button-press-event', this._onButtonPress.bind(this));
+        this.actor.connect('touch-event', this._onButtonPress.bind(this));
         this.actor.connect('key-press-event', this._onKeyPress.bind(this));
 
         Main.overview.connect('showing', () => {
@@ -939,8 +940,13 @@ var Panel = new Lang.Class({
         if (event.get_source() != actor)
             return Clutter.EVENT_PROPAGATE;
 
-        let button = event.get_button();
-        if (button != 1)
+        let type = event.type();
+        let isPress = type == Clutter.EventType.BUTTON_PRESS;
+        if (!isPress && type != Clutter.EventType.TOUCH_BEGIN)
+            return Clutter.EVENT_PROPAGATE;
+
+        let button = isPress ? event.get_button() : -1;
+        if (isPress && button != 1)
             return Clutter.EVENT_PROPAGATE;
 
         let focusWindow = global.display.focus_window;


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