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
This commit is contained in:
Florian Müllner 2015-02-23 20:07:04 +01:00
parent 509464fd61
commit c79d24b60e
3 changed files with 5 additions and 4 deletions

View File

@ -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);

View File

@ -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 = [];

View File

@ -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 {
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;