changed border handling
This commit is contained in:
		
							parent
							
								
									be8d6d40f6
								
							
						
					
					
						commit
						464fc2cd18
					
				
							
								
								
									
										9
									
								
								client.c
								
								
								
								
							
							
						
						
									
										9
									
								
								client.c
								
								
								
								
							| 
						 | 
				
			
			@ -185,13 +185,12 @@ manage(Window w, XWindowAttributes *wa) {
 | 
			
		|||
	c->y = wa->y;
 | 
			
		||||
	c->w = wa->width;
 | 
			
		||||
	c->h = wa->height;
 | 
			
		||||
	c->border = wa->border_width;
 | 
			
		||||
	if(c->w == sw && c->h == sh) {
 | 
			
		||||
		c->border = 0;
 | 
			
		||||
		c->x = sx;
 | 
			
		||||
		c->y = sy;
 | 
			
		||||
	}
 | 
			
		||||
	else {
 | 
			
		||||
		c->border = BORDERPX;
 | 
			
		||||
		if(c->x + c->w + 2 * c->border > wax + waw)
 | 
			
		||||
			c->x = wax + waw - c->w - 2 * c->border;
 | 
			
		||||
		if(c->y + c->h + 2 * c->border > way + wah)
 | 
			
		||||
| 
						 | 
				
			
			@ -205,7 +204,7 @@ manage(Window w, XWindowAttributes *wa) {
 | 
			
		|||
	XSelectInput(dpy, w,
 | 
			
		||||
		StructureNotifyMask | PropertyChangeMask | EnterWindowMask);
 | 
			
		||||
	grabbuttons(c, False);
 | 
			
		||||
	wc.border_width = c->border;
 | 
			
		||||
	wc.border_width = BORDERPX;
 | 
			
		||||
	XConfigureWindow(dpy, w, CWBorderWidth, &wc);
 | 
			
		||||
	XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
 | 
			
		||||
	configure(c); /* propagates border_width, if size doesn't change */
 | 
			
		||||
| 
						 | 
				
			
			@ -270,10 +269,6 @@ resize(Client *c, int x, int y, int w, int h, Bool sizehints) {
 | 
			
		|||
	}
 | 
			
		||||
	if(w <= 0 || h <= 0)
 | 
			
		||||
		return;
 | 
			
		||||
	if(w == sw && h == sh)
 | 
			
		||||
		c->border = 0;
 | 
			
		||||
	else
 | 
			
		||||
		c->border = BORDERPX;
 | 
			
		||||
	/* offscreen appearance fixes */
 | 
			
		||||
	if(x > sw)
 | 
			
		||||
		x = sw - w - 2 * c->border;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4
									
								
								event.c
								
								
								
								
							
							
						
						
									
										4
									
								
								event.c
								
								
								
								
							| 
						 | 
				
			
			@ -191,10 +191,8 @@ configurerequest(XEvent *e) {
 | 
			
		|||
			if(isvisible(c))
 | 
			
		||||
				XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
 | 
			
		||||
		}
 | 
			
		||||
		else {
 | 
			
		||||
		else
 | 
			
		||||
			configure(c);
 | 
			
		||||
		}
 | 
			
		||||
		c->border = BORDERPX;
 | 
			
		||||
	}
 | 
			
		||||
	else {
 | 
			
		||||
		wc.x = ev->x;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										16
									
								
								layout.c
								
								
								
								
							
							
						
						
									
										16
									
								
								layout.c
								
								
								
								
							| 
						 | 
				
			
			@ -38,18 +38,18 @@ tile(void) {
 | 
			
		|||
			ny = way;
 | 
			
		||||
			if(i < nmaster) {
 | 
			
		||||
				ny += i * mh;
 | 
			
		||||
				nw = mw - 2 * BORDERPX;
 | 
			
		||||
				nh = mh - 2 * BORDERPX;
 | 
			
		||||
				nw = mw - 2 * c->border;
 | 
			
		||||
				nh = mh - 2 * c->border;
 | 
			
		||||
			}
 | 
			
		||||
			else {  /* tile window */
 | 
			
		||||
				nx += mw;
 | 
			
		||||
				nw = tw - 2 * BORDERPX;
 | 
			
		||||
				if(th > 2 * BORDERPX) {
 | 
			
		||||
				nw = tw - 2 * c->border;
 | 
			
		||||
				if(th > 2 * c->border) {
 | 
			
		||||
					ny += (i - nmaster) * th;
 | 
			
		||||
					nh = th - 2 * BORDERPX;
 | 
			
		||||
					nh = th - 2 * c->border;
 | 
			
		||||
				}
 | 
			
		||||
				else /* fallback if th <= 2 * BORDERPX */
 | 
			
		||||
					nh = wah - 2 * BORDERPX;
 | 
			
		||||
				else /* fallback if th <= 2 * c->border */
 | 
			
		||||
					nh = wah - 2 * c->border;
 | 
			
		||||
			}
 | 
			
		||||
			resize(c, nx, ny, nw, nh, False);
 | 
			
		||||
			i++;
 | 
			
		||||
| 
						 | 
				
			
			@ -125,7 +125,7 @@ incmasterw(const char *arg) {
 | 
			
		|||
		masterw = MASTERWIDTH;
 | 
			
		||||
	else {
 | 
			
		||||
		i = atoi(arg);
 | 
			
		||||
		if(waw * (masterw + i) / 1000 >= waw - 2 * BORDERPX
 | 
			
		||||
		if(waw * (masterw + i) / 1000 >= waw - 2 * BORDERPX 
 | 
			
		||||
		|| waw * (masterw + i) / 1000 <= 2 * BORDERPX)
 | 
			
		||||
			return;
 | 
			
		||||
		masterw += i;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue