فهرست منبع

applied sanders no_sizehints for tiled mode patch (thx!)

arg@10ksloc.org 19 سال پیش
والد
کامیت
04eb016e78
2فایلهای تغییر یافته به همراه11 افزوده شده و 11 حذف شده
  1. 10 10
      client.c
  2. 1 1
      dwm.h

+ 10 - 10
client.c

@@ -293,30 +293,30 @@ pop(Client *c)
 }
 }
 
 
 void
 void
-resize(Client *c, Bool inc, Corner sticky)
+resize(Client *c, Bool sizehints, Corner sticky)
 {
 {
 	int bottom = c->y + c->h;
 	int bottom = c->y + c->h;
 	int right = c->x + c->w;
 	int right = c->x + c->w;
 	XConfigureEvent e;
 	XConfigureEvent e;
 
 
-	if(inc) {
+	if(sizehints) {
 		if(c->incw)
 		if(c->incw)
 			c->w -= (c->w - c->basew) % c->incw;
 			c->w -= (c->w - c->basew) % c->incw;
 		if(c->inch)
 		if(c->inch)
 			c->h -= (c->h - c->baseh) % c->inch;
 			c->h -= (c->h - c->baseh) % c->inch;
+		if(c->minw && c->w < c->minw)
+			c->w = c->minw;
+		if(c->minh && c->h < c->minh)
+			c->h = c->minh;
+		if(c->maxw && c->w > c->maxw)
+			c->w = c->maxw;
+		if(c->maxh && c->h > c->maxh)
+			c->h = c->maxh;
 	}
 	}
 	if(c->x > sw) /* might happen on restart */
 	if(c->x > sw) /* might happen on restart */
 		c->x = sw - c->w;
 		c->x = sw - c->w;
 	if(c->y > sh)
 	if(c->y > sh)
 		c->y = sh - c->h;
 		c->y = sh - c->h;
-	if(c->minw && c->w < c->minw)
-		c->w = c->minw;
-	if(c->minh && c->h < c->minh)
-		c->h = c->minh;
-	if(c->maxw && c->w > c->maxw)
-		c->w = c->maxw;
-	if(c->maxh && c->h > c->maxh)
-		c->h = c->maxh;
 	if(sticky == TopRight || sticky == BotRight)
 	if(sticky == TopRight || sticky == BotRight)
 		c->x = right - c->w;
 		c->x = right - c->w;
 	if(sticky == BotLeft || sticky == BotRight)
 	if(sticky == BotLeft || sticky == BotRight)

+ 1 - 1
dwm.h

@@ -106,7 +106,7 @@ extern void killclient(Arg *arg);
 extern void lower(Client *c);
 extern void lower(Client *c);
 extern void manage(Window w, XWindowAttributes *wa);
 extern void manage(Window w, XWindowAttributes *wa);
 extern void pop(Client *c);
 extern void pop(Client *c);
-extern void resize(Client *c, Bool inc, Corner sticky);
+extern void resize(Client *c, Bool sizehints, Corner sticky);
 extern void setsize(Client *c);
 extern void setsize(Client *c);
 extern void settitle(Client *c);
 extern void settitle(Client *c);
 extern void togglemax(Arg *arg);
 extern void togglemax(Arg *arg);