|  |  | @ -1,6 +1,5 @@ | 
			
		
	
		
			
				
					|  |  |  | /* | 
			
		
	
		
			
				
					|  |  |  | * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com> | 
			
		
	
		
			
				
					|  |  |  | * (C)opyright MMVI Kris Maglione <fbsdaemon@gmail.com> | 
			
		
	
		
			
				
					|  |  |  | * See LICENSE file for license details. | 
			
		
	
		
			
				
					|  |  |  | */ | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
	
		
			
				
					|  |  | @ -17,10 +16,10 @@ void | 
			
		
	
		
			
				
					|  |  |  | mresize(Client *c) | 
			
		
	
		
			
				
					|  |  |  | { | 
			
		
	
		
			
				
					|  |  |  | XEvent ev; | 
			
		
	
		
			
				
					|  |  |  | int old_cx, old_cy; | 
			
		
	
		
			
				
					|  |  |  | int ocx, ocy; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | old_cx = c->x; | 
			
		
	
		
			
				
					|  |  |  | old_cy = c->y; | 
			
		
	
		
			
				
					|  |  |  | ocx = c->x; | 
			
		
	
		
			
				
					|  |  |  | ocy = c->y; | 
			
		
	
		
			
				
					|  |  |  | if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync, | 
			
		
	
		
			
				
					|  |  |  | None, cursor[CurResize], CurrentTime) != GrabSuccess) | 
			
		
	
		
			
				
					|  |  |  | return; | 
			
		
	
	
		
			
				
					|  |  | @ -34,10 +33,10 @@ mresize(Client *c) | 
			
		
	
		
			
				
					|  |  |  | break; | 
			
		
	
		
			
				
					|  |  |  | case MotionNotify: | 
			
		
	
		
			
				
					|  |  |  | XFlush(dpy); | 
			
		
	
		
			
				
					|  |  |  | c->w = abs(old_cx - ev.xmotion.x); | 
			
		
	
		
			
				
					|  |  |  | c->h = abs(old_cy - ev.xmotion.y); | 
			
		
	
		
			
				
					|  |  |  | c->x = (old_cx <= ev.xmotion.x) ? old_cx : old_cx - c->w; | 
			
		
	
		
			
				
					|  |  |  | c->y = (old_cy <= ev.xmotion.y) ? old_cy : old_cy - c->h; | 
			
		
	
		
			
				
					|  |  |  | c->w = abs(ocx - ev.xmotion.x); | 
			
		
	
		
			
				
					|  |  |  | c->h = abs(ocy - ev.xmotion.y); | 
			
		
	
		
			
				
					|  |  |  | c->x = (ocx <= ev.xmotion.x) ? ocx : ocx - c->w; | 
			
		
	
		
			
				
					|  |  |  | c->y = (ocy <= ev.xmotion.y) ? ocy : ocy - c->h; | 
			
		
	
		
			
				
					|  |  |  | resize(c); | 
			
		
	
		
			
				
					|  |  |  | break; | 
			
		
	
		
			
				
					|  |  |  | case ButtonRelease: | 
			
		
	
	
		
			
				
					|  |  | @ -51,12 +50,12 @@ void | 
			
		
	
		
			
				
					|  |  |  | mmove(Client *c) | 
			
		
	
		
			
				
					|  |  |  | { | 
			
		
	
		
			
				
					|  |  |  | XEvent ev; | 
			
		
	
		
			
				
					|  |  |  | int x1, y1, old_cx, old_cy, di; | 
			
		
	
		
			
				
					|  |  |  | int x1, y1, ocx, ocy, di; | 
			
		
	
		
			
				
					|  |  |  | unsigned int dui; | 
			
		
	
		
			
				
					|  |  |  | Window dummy; | 
			
		
	
		
			
				
					|  |  |  |  | 
			
		
	
		
			
				
					|  |  |  | old_cx = c->x; | 
			
		
	
		
			
				
					|  |  |  | old_cy = c->y; | 
			
		
	
		
			
				
					|  |  |  | ocx = c->x; | 
			
		
	
		
			
				
					|  |  |  | ocy = c->y; | 
			
		
	
		
			
				
					|  |  |  | if(XGrabPointer(dpy, root, False, MouseMask, GrabModeAsync, GrabModeAsync, | 
			
		
	
		
			
				
					|  |  |  | None, cursor[CurMove], CurrentTime) != GrabSuccess) | 
			
		
	
		
			
				
					|  |  |  | return; | 
			
		
	
	
		
			
				
					|  |  | @ -70,8 +69,8 @@ mmove(Client *c) | 
			
		
	
		
			
				
					|  |  |  | break; | 
			
		
	
		
			
				
					|  |  |  | case MotionNotify: | 
			
		
	
		
			
				
					|  |  |  | XFlush(dpy); | 
			
		
	
		
			
				
					|  |  |  | c->x = old_cx + (ev.xmotion.x - x1); | 
			
		
	
		
			
				
					|  |  |  | c->y = old_cy + (ev.xmotion.y - y1); | 
			
		
	
		
			
				
					|  |  |  | c->x = ocx + (ev.xmotion.x - x1); | 
			
		
	
		
			
				
					|  |  |  | c->y = ocy + (ev.xmotion.y - y1); | 
			
		
	
		
			
				
					|  |  |  | resize(c); | 
			
		
	
		
			
				
					|  |  |  | break; | 
			
		
	
		
			
				
					|  |  |  | case ButtonRelease: | 
			
		
	
	
		
			
				
					|  |  | 
 |