[gnome-shell] lookingGlass: Handle Esc in object inspector



commit 5a4c19a8cb2cffe37bfa57b32d3790c5f26b1a6a
Author: Florian Müllner <fmuellner gnome org>
Date:   Mon Apr 18 17:23:45 2022 +0200

    lookingGlass: Handle Esc in object inspector
    
    Currently the main looking glass dialog handles Esc for both itself
    and the object inspector. However as the latter now takes its own
    Clutter.Grab, key events never reach the main dialog while the
    inspector is open.
    
    Fix this by handling the Esc key in the object inspector itself.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5356
    
    Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2271>

 js/ui/lookingGlass.js | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js
index 30d668f3c8..1f10b5a8e4 100644
--- a/js/ui/lookingGlass.js
+++ b/js/ui/lookingGlass.js
@@ -486,6 +486,15 @@ class ObjInspector extends St.ScrollView {
         this._obj = null;
     }
 
+    vfunc_key_press_event(keyPressEvent) {
+        const symbol = keyPressEvent.keyval;
+        if (symbol === Clutter.KEY_Escape) {
+            this.close();
+            return Clutter.EVENT_STOP;
+        }
+        return super.vfunc_key_press_event(keyPressEvent);
+    }
+
     _onInsert() {
         let obj = this._obj;
         this.close();
@@ -1578,10 +1587,7 @@ class LookingGlass extends St.BoxLayout {
     vfunc_key_press_event(keyPressEvent) {
         let symbol = keyPressEvent.keyval;
         if (symbol == Clutter.KEY_Escape) {
-            if (this._objInspector.visible)
-                this._objInspector.close();
-            else
-                this.close();
+            this.close();
             return Clutter.EVENT_STOP;
         }
         // Ctrl+PgUp and Ctrl+PgDown switches tabs in the notebook view


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