mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-18 07:34:54 +00:00
Revert "windowMenu: Do actions requiring grab once ungrabbed"
This reverts commit 2b3ab3ecec.
Since the window menu no longer uses a MetaDisplay grab, but directly
a ClutterGrab, this is ineffective. But also, grabs are stackable, so
it's fine to push the window operation grab first and then dismiss the
window menu grab, even when MetaDisplay grabs get ported to using
ClutterGrab underneath. We now can just grab right away, so do that.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2526>
This commit is contained in:
parent
426efb75ee
commit
ac42eb62f8
1 changed files with 3 additions and 23 deletions
|
|
@ -1,7 +1,7 @@
|
|||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*
|
||||
/* exported WindowMenuManager */
|
||||
|
||||
const { GLib, Meta, St } = imports.gi;
|
||||
const {Meta, St} = imports.gi;
|
||||
|
||||
const BoxPointer = imports.ui.boxpointer;
|
||||
const Main = imports.ui.main;
|
||||
|
|
@ -57,13 +57,13 @@ var WindowMenu = class extends PopupMenu.PopupMenu {
|
|||
item.setSensitive(false);
|
||||
|
||||
item = this.addAction(_("Move"), event => {
|
||||
this._grabAction(window, Meta.GrabOp.KEYBOARD_MOVING, event.get_time());
|
||||
window.begin_grab_op(Meta.GrabOp.KEYBOARD_MOVING, true, event.get_time());
|
||||
});
|
||||
if (!window.allows_move())
|
||||
item.setSensitive(false);
|
||||
|
||||
item = this.addAction(_("Resize"), event => {
|
||||
this._grabAction(window, Meta.GrabOp.KEYBOARD_RESIZING_UNKNOWN, event.get_time());
|
||||
window.begin_grab_op(Meta.GrabOp.KEYBOARD_RESIZING_UNKNOWN, true, event.get_time());
|
||||
});
|
||||
if (!window.allows_resize())
|
||||
item.setSensitive(false);
|
||||
|
|
@ -184,26 +184,6 @@ var WindowMenu = class extends PopupMenu.PopupMenu {
|
|||
if (!window.can_close())
|
||||
item.setSensitive(false);
|
||||
}
|
||||
|
||||
_grabAction(window, grabOp, time) {
|
||||
if (global.display.get_grab_op() == Meta.GrabOp.NONE) {
|
||||
window.begin_grab_op(grabOp, true, time);
|
||||
return;
|
||||
}
|
||||
|
||||
let waitId = 0;
|
||||
let id = global.display.connect('grab-op-end', display => {
|
||||
display.disconnect(id);
|
||||
GLib.source_remove(waitId);
|
||||
|
||||
window.begin_grab_op(grabOp, true, time);
|
||||
});
|
||||
|
||||
waitId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 100, () => {
|
||||
global.display.disconnect(id);
|
||||
return GLib.SOURCE_REMOVE;
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var WindowMenuManager = class {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue