aewl

diff mouse.c @ 31:386649deb651

before leaning things up
author Anselm R. Garbe <garbeam@wmii.de>
date Thu, 13 Jul 2006 01:04:38 +0200
parents e8f627998d6f
children fc9ccd34b8ab
line diff
     1.1 --- a/mouse.c	Wed Jul 12 17:50:31 2006 +0200
     1.2 +++ b/mouse.c	Thu Jul 13 01:04:38 2006 +0200
     1.3 @@ -13,27 +13,6 @@
     1.4  #define ButtonMask      (ButtonPressMask | ButtonReleaseMask)
     1.5  #define MouseMask       (ButtonMask | PointerMotionMask)
     1.6  
     1.7 -static void
     1.8 -mmatch(Client *c, int x1, int y1, int x2, int y2)
     1.9 -{
    1.10 -	c->w = abs(x1 - x2);
    1.11 -	c->h = abs(y1 - y2);
    1.12 -	if(c->incw)
    1.13 -		c->w -= (c->w - c->basew) % c->incw;
    1.14 -	if(c->inch)
    1.15 -		c->h -= (c->h - c->baseh) % c->inch;
    1.16 -	if(c->minw && c->w < c->minw)
    1.17 -		c->w = c->minw;
    1.18 -	if(c->minh && c->h < c->minh)
    1.19 -		c->h = c->minh;
    1.20 -	if(c->maxw && c->w > c->maxw)
    1.21 -		c->w = c->maxw;
    1.22 -	if(c->maxh && c->h > c->maxh)
    1.23 -		c->h = c->maxh;
    1.24 -	c->x = (x1 <= x2) ? x1 : x1 - c->w;
    1.25 -	c->y = (y1 <= y2) ? y1 : y1 - c->h;
    1.26 -}
    1.27 -
    1.28  void
    1.29  mresize(Client *c)
    1.30  {
    1.31 @@ -55,11 +34,13 @@
    1.32  			break;
    1.33  		case MotionNotify:
    1.34  			XFlush(dpy);
    1.35 -			mmatch(c, old_cx, old_cy, ev.xmotion.x, ev.xmotion.y);
    1.36 -			XResizeWindow(dpy, c->win, c->w, c->h);
    1.37 +			c->w = abs(old_cx - ev.xmotion.x);
    1.38 +			c->h = abs(old_cy - ev.xmotion.y);
    1.39 +			c->x = (old_cx <= ev.xmotion.x) ? old_cx : old_cx - c->w;
    1.40 +			c->y = (old_cy <= ev.xmotion.y) ? old_cy : old_cy - c->h;
    1.41 +			resize(c);
    1.42  			break;
    1.43  		case ButtonRelease:
    1.44 -			resize(c);
    1.45  			XUngrabPointer(dpy, CurrentTime);
    1.46  			return;
    1.47  		}
    1.48 @@ -91,10 +72,9 @@
    1.49  			XFlush(dpy);
    1.50  			c->x = old_cx + (ev.xmotion.x - x1);
    1.51  			c->y = old_cy + (ev.xmotion.y - y1);
    1.52 -			XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
    1.53 +			resize(c);
    1.54  			break;
    1.55  		case ButtonRelease:
    1.56 -			resize(c);
    1.57  			XUngrabPointer(dpy, CurrentTime);
    1.58  			return;
    1.59  		}