[gnome-shell] panel: Add keybinding mode for top bar popups and use it



commit 4a5ff5dcfb0537c7231210665580896226bf9da6
Author: Florian Müllner <fmuellner gnome org>
Date:   Fri Apr 26 15:48:36 2013 +0200

    panel: Add keybinding mode for top bar popups and use it
    
    Allow some keybindings to still work while a top bar menu is open
    by assigning it a keybinding mode.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=698938

 js/ui/panel.js               |    2 +-
 src/shell-keybinding-modes.h |    3 +++
 2 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/js/ui/panel.js b/js/ui/panel.js
index 332be12..dd558af 100644
--- a/js/ui/panel.js
+++ b/js/ui/panel.js
@@ -958,7 +958,7 @@ const Panel = new Lang.Class({
 
         this.statusArea = {};
 
-        this.menuManager = new PopupMenu.PopupMenuManager(this);
+        this.menuManager = new PopupMenu.PopupMenuManager(this, { keybindingMode: 
Shell.KeyBindingMode.TOPBAR_POPUP });
 
         this._leftBox = new St.BoxLayout({ name: 'panelLeft' });
         this.actor.add_actor(this._leftBox);
diff --git a/src/shell-keybinding-modes.h b/src/shell-keybinding-modes.h
index c9ba8da..bc0b9b3 100644
--- a/src/shell-keybinding-modes.h
+++ b/src/shell-keybinding-modes.h
@@ -15,6 +15,8 @@
  * @SHELL_KEYBINDING_MODE_SYSTEM_MODAL: allow keybinding when a system modal
  *     dialog (e.g. authentification or session dialogs) is open
  * @SHELL_KEYBINDING_MODE_LOOKING_GLASS: allow keybinding in looking glass
+ * @SHELL_KEYBINDING_MODE_TOPBAR_POPUP: allow keybinding while a top bar menu
+ *     is open
  * @SHELL_KEYBINDING_MODE_ALL: always allow keybinding
  *
  * Controls in which GNOME Shell states a keybinding should be handled.
@@ -29,6 +31,7 @@ typedef enum {
   SHELL_KEYBINDING_MODE_MESSAGE_TRAY  = 1 << 5,
   SHELL_KEYBINDING_MODE_SYSTEM_MODAL  = 1 << 6,
   SHELL_KEYBINDING_MODE_LOOKING_GLASS = 1 << 7,
+  SHELL_KEYBINDING_MODE_TOPBAR_POPUP  = 1 << 8,
 
   SHELL_KEYBINDING_MODE_ALL = ~0,
 } ShellKeyBindingMode;


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