Commit c79d24b6 authored by Florian Müllner's avatar Florian Müllner
Browse files

popupMenu: Use TOPBAR_POPUP action mode for all menus

When it comes to keybindings or gestures, there's not really a good
reason why popups associated with the top bar should behave differently
from any other shell menus. Just set the action mode generically for
all menus, so actions like screenshots or media-keys start working
with menus like the background- or app launcher context menus.

https://bugzilla.gnome.org/show_bug.cgi?id=745039
parent 509464fd
...@@ -723,7 +723,7 @@ const Panel = new Lang.Class({ ...@@ -723,7 +723,7 @@ const Panel = new Lang.Class({
this.statusArea = {}; this.statusArea = {};
this.menuManager = new PopupMenu.PopupMenuManager(this, { actionMode: Shell.ActionMode.TOPBAR_POPUP }); this.menuManager = new PopupMenu.PopupMenuManager(this);
this._leftBox = new St.BoxLayout({ name: 'panelLeft' }); this._leftBox = new St.BoxLayout({ name: 'panelLeft' });
this.actor.add_actor(this._leftBox); this.actor.add_actor(this._leftBox);
......
...@@ -1159,6 +1159,8 @@ const PopupMenuManager = new Lang.Class({ ...@@ -1159,6 +1159,8 @@ const PopupMenuManager = new Lang.Class({
Name: 'PopupMenuManager', Name: 'PopupMenuManager',
_init: function(owner, grabParams) { _init: function(owner, grabParams) {
grabParams = Params.parse(grabParams,
{ actionMode: Shell.ActionMode.POPUP });
this._owner = owner; this._owner = owner;
this._grabHelper = new GrabHelper.GrabHelper(owner.actor, grabParams); this._grabHelper = new GrabHelper.GrabHelper(owner.actor, grabParams);
this._menus = []; this._menus = [];
......
...@@ -15,8 +15,7 @@ ...@@ -15,8 +15,7 @@
* @SHELL_ACTION_MODE_SYSTEM_MODAL: allow action when a system modal * @SHELL_ACTION_MODE_SYSTEM_MODAL: allow action when a system modal
* dialog (e.g. authentification or session dialogs) is open * dialog (e.g. authentification or session dialogs) is open
* @SHELL_ACTION_MODE_LOOKING_GLASS: allow action in looking glass * @SHELL_ACTION_MODE_LOOKING_GLASS: allow action in looking glass
* @SHELL_ACTION_MODE_TOPBAR_POPUP: allow action while a top bar menu * @SHELL_ACTION_MODE_POPUP: allow action while a shell menu is open
* is open
* @SHELL_ACTION_MODE_ALL: always allow action * @SHELL_ACTION_MODE_ALL: always allow action
* *
* Controls in which GNOME Shell states an action (like keybindings and gestures) * Controls in which GNOME Shell states an action (like keybindings and gestures)
...@@ -32,7 +31,7 @@ typedef enum { ...@@ -32,7 +31,7 @@ typedef enum {
SHELL_ACTION_MODE_MESSAGE_TRAY = 1 << 5, SHELL_ACTION_MODE_MESSAGE_TRAY = 1 << 5,
SHELL_ACTION_MODE_SYSTEM_MODAL = 1 << 6, SHELL_ACTION_MODE_SYSTEM_MODAL = 1 << 6,
SHELL_ACTION_MODE_LOOKING_GLASS = 1 << 7, SHELL_ACTION_MODE_LOOKING_GLASS = 1 << 7,
SHELL_ACTION_MODE_TOPBAR_POPUP = 1 << 8, SHELL_ACTION_MODE_POPUP = 1 << 8,
SHELL_ACTION_MODE_ALL = ~0, SHELL_ACTION_MODE_ALL = ~0,
} ShellActionMode; } ShellActionMode;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment