Skip to content

x11: Disallow ConfigureRequests towards unexpected monitors

Do not honor ConfigureRequest requests from clients that result in the window moving across monitors. Mutter is in control of that for Wayland clients, and just for the sake of consistence it should be for X11 applications too.

More concretely, this fixes an issue with Java applications, where moving to another monitor (e.g. DnD on the GNOME Shell overview, or selecting a "Move to monitor ..." option from the window menu) results in the application infighting to endlessly move the window between the source and target monitors. Each ConfigureNotify is followed by a ConfigureRequest pushing the window to the other monitor, which we did honor, just to get another ConfigureRequest in the opposite direction.

While there is indeed something troublesome in the SWT X11 implementation, Mutter should arguably not follow that game. Hence make it have a hard preference for the ConfigureRequests happening in the coordinates of the same monitor it thinks the window should be.

Closes: #2768

Merge request reports