| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -18,9 +18,10 @@ max(void *aux) | 
															
														
														
													
														
															
																 | 
																 | 
																		return; | 
																 | 
																 | 
																		return; | 
															
														
														
													
														
															
																 | 
																 | 
																	stack->x = sx; | 
																 | 
																 | 
																	stack->x = sx; | 
															
														
														
													
														
															
																 | 
																 | 
																	stack->y = bh; | 
																 | 
																 | 
																	stack->y = bh; | 
															
														
														
													
														
															
																 | 
																 | 
																	stack->w = sw - 2; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	stack->h = sh - bh - 2; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	stack->w = sw - 2 * stack->border; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	stack->h = sh - bh - 2 * stack->border; | 
															
														
														
													
														
															
																 | 
																 | 
																	resize(stack); | 
																 | 
																 | 
																	resize(stack); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	discard_events(EnterWindowMask); | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -43,8 +44,8 @@ arrange(void *aux) | 
															
														
														
													
														
															
																 | 
																 | 
																	else | 
																 | 
																 | 
																	else | 
															
														
														
													
														
															
																 | 
																 | 
																		cols = rows; | 
																 | 
																 | 
																		cols = rows; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	gw = (sw - 1)  / cols; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	gh = (sh - bh - 1) / rows; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	gw = (sw - 2 * c->border)  / cols; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	gh = (sh - bh - 2 * c->border) / rows; | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																	for(i = j = 0, c = clients; c; c = c->next) { | 
																 | 
																 | 
																	for(i = j = 0, c = clients; c; c = c->next) { | 
															
														
														
													
														
															
																 | 
																 | 
																		c->x = i * gw; | 
																 | 
																 | 
																		c->x = i * gw; | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -57,6 +58,7 @@ arrange(void *aux) | 
															
														
														
													
														
															
																 | 
																 | 
																			i = 0; | 
																 | 
																 | 
																			i = 0; | 
															
														
														
													
														
															
																 | 
																 | 
																		} | 
																 | 
																 | 
																		} | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	discard_events(EnterWindowMask); | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -161,6 +163,10 @@ update_size(Client *c) | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																	else | 
																 | 
																 | 
																	else | 
															
														
														
													
														
															
																 | 
																 | 
																		c->minw = c->minh = 0; | 
																 | 
																 | 
																		c->minw = c->minh = 0; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	if(c->flags & PWinGravity) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		c->grav = size.win_gravity; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	else | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		c->grav = NorthWestGravity; | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -213,6 +219,7 @@ manage(Window w, XWindowAttributes *wa) | 
															
														
														
													
														
															
																 | 
																 | 
																	c->tw = c->w = wa->width; | 
																 | 
																 | 
																	c->tw = c->w = wa->width; | 
															
														
														
													
														
															
																 | 
																 | 
																	c->h = wa->height; | 
																 | 
																 | 
																	c->h = wa->height; | 
															
														
														
													
														
															
																 | 
																 | 
																	c->th = bh; | 
																 | 
																 | 
																	c->th = bh; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	c->border = 1; | 
															
														
														
													
														
															
																 | 
																 | 
																	update_size(c); | 
																 | 
																 | 
																	update_size(c); | 
															
														
														
													
														
															
																 | 
																 | 
																	XSetWindowBorderWidth(dpy, c->win, 1); | 
																 | 
																 | 
																	XSetWindowBorderWidth(dpy, c->win, 1); | 
															
														
														
													
														
															
																 | 
																 | 
																	XSetWindowBorder(dpy, c->win, brush.border); | 
																 | 
																 | 
																	XSetWindowBorder(dpy, c->win, brush.border); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -246,6 +253,61 @@ manage(Window w, XWindowAttributes *wa) | 
															
														
														
													
														
															
																 | 
																 | 
																	focus(c); | 
																 | 
																 | 
																	focus(c); | 
															
														
														
													
														
															
																 | 
																 | 
																} | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																void | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																gravitate(Client *c, Bool invert) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																{ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	int dx = 0, dy = 0; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	switch(c->grav) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case StaticGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case NorthWestGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case NorthGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case NorthEastGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		dy = c->border; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case EastGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case CenterGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case WestGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		dy = -(c->h / 2) + c->border; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case SouthEastGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case SouthGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case SouthWestGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		dy = -c->h; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	default: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	switch (c->grav) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case StaticGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case NorthWestGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case WestGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case SouthWestGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		dx = c->border; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case NorthGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case CenterGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case SouthGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		dx = -(c->w / 2) + c->border; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case NorthEastGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case EastGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	case SouthEastGravity: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		dx = -(c->w + c->border); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	default: | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		break; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	if(invert) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		dx = -dx; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		dy = -dy; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	c->x += dx; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	c->y += dy; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																void | 
																 | 
																 | 
																void | 
															
														
														
													
														
															
																 | 
																 | 
																resize(Client *c) | 
																 | 
																 | 
																resize(Client *c) | 
															
														
														
													
														
															
																 | 
																 | 
																{ | 
																 | 
																 | 
																{ | 
															
														
														
													
												
													
														
															
																| 
																	
																	
																	
																		
																			
																		
																	
																 | 
																@ -260,7 +322,7 @@ resize(Client *c) | 
															
														
														
													
														
															
																 | 
																 | 
																	e.y = c->y; | 
																 | 
																 | 
																	e.y = c->y; | 
															
														
														
													
														
															
																 | 
																 | 
																	e.width = c->w; | 
																 | 
																 | 
																	e.width = c->w; | 
															
														
														
													
														
															
																 | 
																 | 
																	e.height = c->h; | 
																 | 
																 | 
																	e.height = c->h; | 
															
														
														
													
														
															
																 | 
																 | 
																	e.border_width = 0; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	e.border_width = c->border; | 
															
														
														
													
														
															
																 | 
																 | 
																	e.above = None; | 
																 | 
																 | 
																	e.above = None; | 
															
														
														
													
														
															
																 | 
																 | 
																	e.override_redirect = False; | 
																 | 
																 | 
																	e.override_redirect = False; | 
															
														
														
													
														
															
																 | 
																 | 
																	XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *)&e); | 
																 | 
																 | 
																	XSendEvent(dpy, c->win, False, StructureNotifyMask, (XEvent *)&e); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |