[gnome-shell/wip/carlosg/grab-helper-captured-events: 4/4] popupMenu: Ensure to let focus manager handle key events




commit 8bcd840cf2a57b62ad1cc52580ca9e1112dbd93a
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Feb 1 14:33:03 2022 +0100

    popupMenu: Ensure to let focus manager handle key events
    
    Since the grab no longer lets events bubble up to the stage unstopped,
    we should be forwarding the key events that bubbled up to the dialog
    to maybe cycle focus.
    
    Fixes broken keyboard navigation in several context menus around the
    shell, other than the panel ones.

 js/ui/popupMenu.js | 3 +++
 1 file changed, 3 insertions(+)
---
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
index a0c00067d1..b464673626 100644
--- a/js/ui/popupMenu.js
+++ b/js/ui/popupMenu.js
@@ -154,6 +154,9 @@ var PopupBaseMenuItem = GObject.registerClass({
     }
 
     vfunc_key_press_event(keyEvent) {
+        if (global.focus_manager.navigate_from_event(Clutter.get_current_event()))
+            return Clutter.EVENT_STOP;
+
         if (!this._activatable)
             return super.vfunc_key_press_event(keyEvent);
 


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