21 lines
		
	
	
		
			471 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			471 B
		
	
	
	
		
			C
		
	
	
	
	
	
void
 | 
						|
warp(const Client *c)
 | 
						|
{
 | 
						|
	int x, y;
 | 
						|
 | 
						|
	if (!c) {
 | 
						|
		XWarpPointer(dpy, None, root, 0, 0, 0, 0, selmon->wx + selmon->ww/2, selmon->wy + selmon->wh/2);
 | 
						|
		return;
 | 
						|
	}
 | 
						|
 | 
						|
	if (!getrootptr(&x, &y) ||
 | 
						|
	    (x > c->x - c->bw &&
 | 
						|
	     y > c->y - c->bw &&
 | 
						|
	     x < c->x + c->w + c->bw*2 &&
 | 
						|
	     y < c->y + c->h + c->bw*2) ||
 | 
						|
	    (y > c->mon->by && y < c->mon->by + bh) ||
 | 
						|
	    (c->mon->topbar && !y))
 | 
						|
		return;
 | 
						|
 | 
						|
	XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w / 2, c->h / 2);
 | 
						|
} |