From 1ddce9148907900d29fb14107e258ee2bff6aa3e Mon Sep 17 00:00:00 2001
From: Pavel Kirilin <win10@list.ru>
Date: Mon, 8 Nov 2021 23:38:26 +0400
Subject: [PATCH] Fixed problem with too many windows.

Signed-off-by: Pavel Kirilin <win10@list.ru>
---
 .gitignore | 1 +
 dwm/dwm.c  | 6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/.gitignore b/.gitignore
index c53ca1a..2004252 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
 dwm/dwm
 dwm/drm
+dwm/.vscode
 dwm/drw.o
 dwm/dwm.o
 dwm/util.o
diff --git a/dwm/dwm.c b/dwm/dwm.c
index 85e71d9..855d80c 100644
--- a/dwm/dwm.c
+++ b/dwm/dwm.c
@@ -1934,11 +1934,13 @@ tile(Monitor *m)
 		if (i < m->nmaster) {
 			h = (m->wh - my) / (MIN(n, m->nmaster) - i) - m->gappx;
 			resize(c, m->wx + m->gappx, m->wy + my, mw - (2*c->bw) - m->gappx, h - (2*c->bw), 0);
-			my += HEIGHT(c) + m->gappx;
+			if (my + HEIGHT(c) + m->gappx < m->wh)
+				my += HEIGHT(c) + m->gappx;
 		} else {
 			h = (m->wh - ty) / (n - i) - m->gappx;
 			resize(c, m->wx + mw + m->gappx, m->wy + ty, m->ww - mw - (2*c->bw) - 2*m->gappx, h - (2*c->bw), 0);
-			ty += HEIGHT(c) + m->gappx;
+			if (ty + HEIGHT(c) + m->gappx < m->wh)
+				ty += HEIGHT(c) + m->gappx;
 		}
 }
 
-- 
GitLab