From 5a4c19a8cb2cffe37bfa57b32d3790c5f26b1a6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 18 Apr 2022 17:23:45 +0200 Subject: [PATCH] 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: --- 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 30d668f3c..1f10b5a8e 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