constraints: Don't apply titlebar constraint on non-drag user-op move

2d8fa26c8e ("core: Pass "frame action" grab operations as an
"unconstrained" grab op") changed the behaviour to treat non-grab
related window moving that has the "user action" flag set to still apply
the "constrain_titlebar_visible" constraint.

The fact that it wasn't applied before was relied upon by some
extensions. While it should arguably exist a better API that for such
extensions to use that have a bit more predictable behavior, until that
is so, restore the old semantics.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2891>
This commit is contained in:
Jonas Ådahl 2023-03-04 16:44:58 +01:00 committed by Marge Bot
parent 950fdc6c04
commit 65ef0cb9e8

View File

@ -1778,9 +1778,9 @@ constrain_titlebar_visible (MetaWindow *window,
*/
unconstrained_user_action =
info->is_user_action &&
window_drag &&
(meta_window_drag_get_grab_op (window_drag) &
META_GRAB_OP_WINDOW_FLAG_UNCONSTRAINED) != 0;
(!window_drag ||
(meta_window_drag_get_grab_op (window_drag) &
META_GRAB_OP_WINDOW_FLAG_UNCONSTRAINED) != 0);
/* Exit early if we know the constraint won't apply--note that this constraint
* is only meant for normal windows (e.g. we don't want docks to be shoved