diff --git a/geometry.cpp b/geometry.cpp index d4c94510f6..e9235505da 100644 --- a/geometry.cpp +++ b/geometry.cpp @@ -1635,6 +1635,9 @@ void Client::configureRequest(int value_mask, int rx, int ry, int rw, int rh, in nh = rh; QSize ns = sizeForClientSize(QSize(nw, nh)); // enforces size if needed new_pos = rules()->checkPosition(new_pos); + int newScreen = workspace()->screenNumber(QRect(new_pos, ns).center()); + if (newScreen != rules()->checkScreen(newScreen)) + return; // not allowed by rule QRect orig_geometry = geometry(); GeometryUpdatesBlocker blocker(this);