Commit Diff


commit - 1ce173402f0941ef8e8c6cf21f88b8a89511969c
commit + 5a92420fce8d70a329a8294c1c77bb8c3c7eaad4
blob - 64bafb7d1be853ce153d959a6b68daa6493a8704
blob + f4b0540d4a08e8203e895ad2a98b60f0eda7bff2
--- dwm.c
+++ dwm.c
@@ -913,7 +913,8 @@ manage(Window w, XWindowAttributes *wa) {
 		if(c->y + c->h + 2 * c->bw > sy + sh)
 			c->y = sy + sh - c->h - 2 * c->bw;
 		c->x = MAX(c->x, sx);
-		c->y = MAX(c->y, by == 0 ? bh : sy);
+		/* only fix client y-offset, if the client center might cover the bar */
+		c->y = MAX(c->y, ((by == 0) && (c->x + (c->w / 2) >= wx) && (c->x + (c->w / 2) < wx + ww)) ? bh : sy);
 		c->bw = borderpx;
 	}