fix X11 clients shifting by the border width on map

c->geom includes the border, but client_get_geometry() returns the
content position. Subtract the border, clamped to the layout edges.
This commit is contained in:
save196
2026-09-29 00:18:49 +03:00
parent d29259c26a
commit 4fd683cc84
+5
View File
@@ -1919,6 +1919,11 @@ mapnotify(struct wl_listener *listener, void *data)
WLR_EDGE_RIGHT);
c->geom.width += 2 * c->bw;
c->geom.height += 2 * c->bw;
if (client_is_x11(c)) {
int x = c->geom.x - (int)c->bw, y = c->geom.y - (int)c->bw;
c->geom.x = c->geom.x < sgeom.x ? x : MAX(x, sgeom.x);
c->geom.y = c->geom.y < sgeom.y ? y : MAX(y, sgeom.y);
}
/* Insert this client into client lists. */
wl_list_insert(&clients, &c->link);