X-Git-Url: https://git.xinqibao.xyz/dwm.git/blobdiff_plain/ec85fddb9a3a93a216b779cc39fead1a3d90aafd..2378a558a2f85e140b660d8460c045e7b746903b:/view.c?ds=inline

diff --git a/view.c b/view.c
index 587c53a..ce122ed 100644
--- a/view.c
+++ b/view.c
@@ -38,6 +38,13 @@ reorder()
 	clients = newclients;
 }
 
+static Client *
+nexttiled(Client *c)
+{
+	for(c = getnext(c); c && c->isfloat; c = getnext(c->next));
+	return c;
+}
+
 /* extern */
 
 void (*arrange)(Arg *) = DEFMODE;
@@ -193,12 +200,12 @@ resizecol(Arg *arg)
 		return;
 
 	if(sel == getnext(clients)) {
-		if(mw + arg->i > sw - 100)
+		if(mw + arg->i > sw - 100 || mw + arg->i < 100)
 			return;
 		mw += arg->i;
 	}
 	else {
-		if(mw - arg->i < 100)
+		if(mw - arg->i > sw - 100 || mw - arg->i < 100)
 			return;
 		mw -= arg->i;
 	}
@@ -317,8 +324,8 @@ zoom(Arg *arg)
 	if(!sel || sel->isfloat || n < 2 || (arrange != dotile) || maximized)
 		return;
 
-	if((c = sel)  == getnext(clients))
-		if(!(c = getnext(c->next)))
+	if((c = sel) == nexttiled(clients))
+		if(!(c = nexttiled(c->next)))
 			return;
 	detach(c);
 	c->next = clients;