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:
parent
509464fd61
commit
c79d24b60e
@ -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({
|
|||||||
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 @@
|
|||||||
* @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;
|
||||||
|
Loading…
Reference in New Issue
Block a user