improved tile() for the RESIZEHINTS == True case, now more space is consumed by the clients (esp. if those clients use increment handling heavily)
This commit is contained in:
		
							parent
							
								
									f92a4e45c4
								
							
						
					
					
						commit
						3f3086f8b8
					
				
							
								
								
									
										11
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								dwm.c
									
									
									
									
									
								
							| @ -1569,7 +1569,7 @@ textw(const char *text) { | |||||||
| void | void | ||||||
| tile(void) { | tile(void) { | ||||||
| 	unsigned int i, n, nx, ny, nw, nh, mw, th; | 	unsigned int i, n, nx, ny, nw, nh, mw, th; | ||||||
| 	Client *c; | 	Client *c, *mc; | ||||||
| 
 | 
 | ||||||
| 	for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) | 	for(n = 0, c = nexttiled(clients); c; c = nexttiled(c->next)) | ||||||
| 		n++; | 		n++; | ||||||
| @ -1582,7 +1582,8 @@ tile(void) { | |||||||
| 
 | 
 | ||||||
| 	nx = wax; | 	nx = wax; | ||||||
| 	ny = way; | 	ny = way; | ||||||
| 	for(i = 0, c = nexttiled(clients); c; c = nexttiled(c->next), i++) { | 	nw = 0; /* gcc stupidity requires this */ | ||||||
|  | 	for(i = 0, c = mc = nexttiled(clients); c; c = nexttiled(c->next), i++) { | ||||||
| 		c->ismax = False; | 		c->ismax = False; | ||||||
| 		if(i == 0) { /* master */ | 		if(i == 0) { /* master */ | ||||||
| 			nw = mw - 2 * c->border; | 			nw = mw - 2 * c->border; | ||||||
| @ -1591,9 +1592,9 @@ tile(void) { | |||||||
| 		else {  /* tile window */ | 		else {  /* tile window */ | ||||||
| 			if(i == 1) { | 			if(i == 1) { | ||||||
| 				ny = way; | 				ny = way; | ||||||
| 				nx += mw; | 				nx += mc->w + 2 * mc->border; | ||||||
|  | 				nw = waw - nx - 2 * c->border; | ||||||
| 			} | 			} | ||||||
| 			nw = waw - mw - 2 * c->border; |  | ||||||
| 			if(i + 1 == n) /* remainder */ | 			if(i + 1 == n) /* remainder */ | ||||||
| 				nh = (way + wah) - ny - 2 * c->border; | 				nh = (way + wah) - ny - 2 * c->border; | ||||||
| 			else | 			else | ||||||
| @ -1601,7 +1602,7 @@ tile(void) { | |||||||
| 		} | 		} | ||||||
| 		resize(c, nx, ny, nw, nh, RESIZEHINTS); | 		resize(c, nx, ny, nw, nh, RESIZEHINTS); | ||||||
| 		if(n > 1 && th != wah) | 		if(n > 1 && th != wah) | ||||||
| 			ny += nh + 2 * c->border; | 			ny = c->y + c->h + 2 * c->border; | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Anselm R. Garbe
						Anselm R. Garbe