dwm.c
changeset 1335 83da51dfedd3
parent 1334 6f9cf8bcc4a7
child 1336 6ed902a28221
equal deleted inserted replaced
1334:6f9cf8bcc4a7 1335:83da51dfedd3
  1125 	ocy = c->y;
  1125 	ocy = c->y;
  1126 	if(XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync,
  1126 	if(XGrabPointer(dpy, root, False, MOUSEMASK, GrabModeAsync, GrabModeAsync,
  1127 	None, cursor[CurResize], CurrentTime) != GrabSuccess)
  1127 	None, cursor[CurResize], CurrentTime) != GrabSuccess)
  1128 		return;
  1128 		return;
  1129 	XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1);
  1129 	XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1);
  1130 	for(;;) {
  1130 	do {
  1131 		XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask , &ev);
  1131 		XMaskEvent(dpy, MOUSEMASK|ExposureMask|SubstructureRedirectMask , &ev);
  1132 		switch(ev.type) {
  1132 		switch(ev.type) {
  1133 		case ButtonRelease:
       
  1134 			XWarpPointer(dpy, None, c->win, 0, 0, 0, 0,
       
  1135 					c->w + c->bw - 1, c->h + c->bw - 1);
       
  1136 			XUngrabPointer(dpy, CurrentTime);
       
  1137 			while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
       
  1138 			return;
       
  1139 		case ConfigureRequest:
  1133 		case ConfigureRequest:
  1140 		case Expose:
  1134 		case Expose:
  1141 		case MapRequest:
  1135 		case MapRequest:
  1142 			handler[ev.type](&ev);
  1136 			handler[ev.type](&ev);
  1143 			break;
  1137 			break;
  1155 			if(!lt[sellt]->arrange || c->isfloating)
  1149 			if(!lt[sellt]->arrange || c->isfloating)
  1156 				resize(c, c->x, c->y, nw, nh, True);
  1150 				resize(c, c->x, c->y, nw, nh, True);
  1157 			break;
  1151 			break;
  1158 		}
  1152 		}
  1159 	}
  1153 	}
       
  1154 	while(ev.type != ButtonRelease);
       
  1155 	XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, c->w + c->bw - 1, c->h + c->bw - 1);
       
  1156 	XUngrabPointer(dpy, CurrentTime);
       
  1157 	while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
  1160 }
  1158 }
  1161 
  1159 
  1162 void
  1160 void
  1163 restack(void) {
  1161 restack(void) {
  1164 	Client *c;
  1162 	Client *c;