resize handles offscreen issues
This commit is contained in:
		
							
								
								
									
										24
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								dwm.c
									
									
									
									
									
								
							| @@ -1263,9 +1263,10 @@ reapply(const char *arg) { | ||||
|  | ||||
| void | ||||
| resize(Client *c, int x, int y, int w, int h, Bool sizehints) { | ||||
| 	Monitor *m; | ||||
| 	XWindowChanges wc; | ||||
| 	//Monitor scr = monitors[monitorat()]; | ||||
| //	c->monitor = monitorat(); | ||||
|  | ||||
| 	m = &monitors[c->monitor]; | ||||
|  | ||||
| 	if(sizehints) { | ||||
| 		/* set minimum possible */ | ||||
| @@ -1307,17 +1308,14 @@ resize(Client *c, int x, int y, int w, int h, Bool sizehints) { | ||||
| 	} | ||||
| 	if(w <= 0 || h <= 0) | ||||
| 		return; | ||||
| 	/* TODO: offscreen appearance fixes */ | ||||
| 	/* | ||||
| 	if(x > scr.sw) | ||||
| 		x = scr.sw - w - 2 * c->border; | ||||
| 	if(y > scr.sh) | ||||
| 		y = scr.sh - h - 2 * c->border; | ||||
| 	if(x + w + 2 * c->border < scr.sx) | ||||
| 		x = scr.sx; | ||||
| 	if(y + h + 2 * c->border < scr.sy) | ||||
| 		y = scr.sy; | ||||
| 	*/ | ||||
| 	if(x > m->sw) | ||||
| 		x = m->sw - w - 2 * c->border; | ||||
| 	if(y > m->sh) | ||||
| 		y = m->sh - h - 2 * c->border; | ||||
| 	if(x + w + 2 * c->border < m->sx) | ||||
| 		x = m->sx; | ||||
| 	if(y + h + 2 * c->border < m->sy) | ||||
| 		y = m->sy; | ||||
| 	if(c->x != x || c->y != y || c->w != w || c->h != h) { | ||||
| 		c->x = wc.x = x; | ||||
| 		c->y = wc.y = y; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user