core: Set gravity based on grab op during window move/resize ops

We will basically want to follow the gravity as specified by the drag
corner/edge. Hook this up to meta_window_get_gravity().

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3972>
This commit is contained in:
Carlos Garnacho 2024-07-16 13:35:04 +02:00 committed by Marge Bot
parent 0928d3ec32
commit ca0c6bcd69

View File

@ -322,6 +322,21 @@ meta_window_real_get_client_pid (MetaWindow *window)
static MetaGravity
meta_window_real_get_gravity (MetaWindow *window)
{
MetaWindowDrag *window_drag = NULL;
if (window->display && window->display->compositor)
window_drag = meta_compositor_get_current_window_drag (window->display->compositor);
if (window_drag &&
meta_window_drag_get_window (window_drag) == window)
{
MetaGrabOp grab_op;
grab_op = meta_window_drag_get_grab_op (window_drag);
return meta_resize_gravity_from_grab_op (grab_op);
}
return META_GRAVITY_NONE;
}