some other fixes, resize contains a minor bug
This commit is contained in:
		
							parent
							
								
									8e0f8ffcc6
								
							
						
					
					
						commit
						de5b294edc
					
				
							
								
								
									
										16
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								dwm.c
									
									
									
									
									
								
							| @ -1276,7 +1276,6 @@ resize(Client *c, int x, int y, int w, int h, Bool sizehints) { | ||||
| 	XWindowChanges wc; | ||||
| 
 | ||||
| 	m = c->monitor; | ||||
| 
 | ||||
| 	if(sizehints) { | ||||
| 		/* set minimum possible */ | ||||
| 		if (w < 1) | ||||
| @ -1325,6 +1324,7 @@ resize(Client *c, int x, int y, int w, int h, Bool sizehints) { | ||||
| 		x = m->sx; | ||||
| 	if(y + h + 2 * c->border < m->sy) | ||||
| 		y = m->sy; | ||||
| 	fprintf(stderr, "resize %d %d %d %d (%d %d %d %d)\n", x, y , w, h, m->sx, m->sy, m->sw, m->sh); | ||||
| 	if(c->x != x || c->y != y || c->w != w || c->h != h) { | ||||
| 		c->x = wc.x = x; | ||||
| 		c->y = wc.y = y; | ||||
| @ -1605,7 +1605,7 @@ setup(void) { | ||||
| 		m = &monitors[i]; | ||||
| 		m->id = i; | ||||
| 
 | ||||
| 		if (mcount != 1 && isxinerama) { | ||||
| 		if(mcount != 1 && isxinerama) { | ||||
| 			m->sx = info[i].x_org; | ||||
| 			m->sy = info[i].y_org; | ||||
| 			m->sw = info[i].width; | ||||
| @ -1727,9 +1727,9 @@ tile(Monitor *m) { | ||||
| 	Client *c, *mc; | ||||
| 
 | ||||
| 	domwfact = dozoom = True; | ||||
| 
 | ||||
| 	nx = ny = nw = 0; /* gcc stupidity requires this */ | ||||
| 
 | ||||
| 	nx = m->wax; | ||||
| 	ny = m->way; | ||||
| 	nw = 0; | ||||
| 	for(n = 0, c = nexttiled(clients, m); c; c = nexttiled(c->next, m)) | ||||
| 		n++; | ||||
| 
 | ||||
| @ -1757,16 +1757,17 @@ tile(Monitor *m) { | ||||
| 			else | ||||
| 				nh = th - 2 * c->border; | ||||
| 		} | ||||
| 		fprintf(stderr, "tile %d %d %d %d\n", nx, ny, nw, nh); | ||||
| 		resize(c, nx, ny, nw, nh, RESIZEHINTS); | ||||
| 		if((RESIZEHINTS) && ((c->h < bh) || (c->h > nh) || (c->w < bh) || (c->w > nw))) | ||||
| 			/* client doesn't accept size constraints */ | ||||
| 			resize(c, nx, ny, nw, nh, False); | ||||
| 		if(n > 1 && th != m->wah) | ||||
| 			ny = c->y + c->h + 2 * c->border; | ||||
| 
 | ||||
| 		i++; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| void | ||||
| togglebar(const char *arg) { | ||||
| 	if(bpos == BarOff) | ||||
| @ -1824,6 +1825,7 @@ unban(Client *c) { | ||||
| 
 | ||||
| void | ||||
| unmanage(Client *c) { | ||||
| 	Monitor *m = c->monitor; | ||||
| 	XWindowChanges wc; | ||||
| 
 | ||||
| 	wc.border_width = c->oldborder; | ||||
| @ -1842,7 +1844,7 @@ unmanage(Client *c) { | ||||
| 	XSync(dpy, False); | ||||
| 	XSetErrorHandler(xerror); | ||||
| 	XUngrabServer(dpy); | ||||
| 	arrange(NULL); | ||||
| 	arrange(m); | ||||
| } | ||||
| 
 | ||||
| void | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Anselm R Garbe
						Anselm R Garbe