dwm.c
changeset 1213 368a80dcf5bd
parent 1212 4ed5ed4292fe
child 1215 840fd59e3141
equal deleted inserted replaced
1212:4ed5ed4292fe 1213:368a80dcf5bd
  1037 			break;
  1037 			break;
  1038 		case MotionNotify:
  1038 		case MotionNotify:
  1039 			XSync(dpy, False);
  1039 			XSync(dpy, False);
  1040 			nx = ocx + (ev.xmotion.x - x1);
  1040 			nx = ocx + (ev.xmotion.x - x1);
  1041 			ny = ocy + (ev.xmotion.y - y1);
  1041 			ny = ocy + (ev.xmotion.y - y1);
  1042 			if(abs(wx - nx) < snap)
  1042 			if(snap && nx >= wx && nx <= wx + ww
  1043 				nx = wx;
  1043 			        && ny >= wy && ny <= wy + wh) {
  1044 			else if(abs((wx + ww) - (nx + c->w + 2 * c->bw)) < snap)
  1044 				if(abs(wx - nx) < snap)
  1045 				nx = wx + ww - c->w - 2 * c->bw;
  1045 					nx = wx;
  1046 			if(abs(wy - ny) < snap)
  1046 				else if(abs((wx + ww) - (nx + c->w + 2 * c->bw)) < snap)
  1047 				ny = wy;
  1047 					nx = wx + ww - c->w - 2 * c->bw;
  1048 			else if(abs((wy + wh) - (ny + c->h + 2 * c->bw)) < snap)
  1048 				if(abs(wy - ny) < snap)
  1049 				ny = wy + wh - c->h - 2 * c->bw;
  1049 					ny = wy;
  1050 			if(!c->isfloating && lt->arrange && (abs(nx - c->x) > snap || abs(ny - c->y) > snap))
  1050 				else if(abs((wy + wh) - (ny + c->h + 2 * c->bw)) < snap)
  1051 				togglefloating(NULL);
  1051 					ny = wy + wh - c->h - 2 * c->bw;
       
  1052 				if(!c->isfloating && lt->arrange && (abs(nx - c->x) > snap || abs(ny - c->y) > snap))
       
  1053 					togglefloating(NULL);
       
  1054 			}
  1052 			if(!lt->arrange || c->isfloating)
  1055 			if(!lt->arrange || c->isfloating)
  1053 				resize(c, nx, ny, c->w, c->h, False);
  1056 				resize(c, nx, ny, c->w, c->h, False);
  1054 			break;
  1057 			break;
  1055 		}
  1058 		}
  1056 	}
  1059 	}
  1191 			break;
  1194 			break;
  1192 		case MotionNotify:
  1195 		case MotionNotify:
  1193 			XSync(dpy, False);
  1196 			XSync(dpy, False);
  1194 			nw = MAX(ev.xmotion.x - ocx - 2 * c->bw + 1, 1);
  1197 			nw = MAX(ev.xmotion.x - ocx - 2 * c->bw + 1, 1);
  1195 			nh = MAX(ev.xmotion.y - ocy - 2 * c->bw + 1, 1);
  1198 			nh = MAX(ev.xmotion.y - ocy - 2 * c->bw + 1, 1);
  1196 			if(!c->isfloating && lt->arrange && (abs(nw - c->w) > snap || abs(nh - c->h) > snap)) {
  1199 
  1197 				togglefloating(NULL);
  1200 			if(snap && nw >= wx && nw <= wx + ww
       
  1201 			        && nh >= wy && nh <= wy + wh) {
       
  1202 				if(!c->isfloating && lt->arrange
       
  1203 				   && (abs(nw - c->w) > snap || abs(nh - c->h) > snap))
       
  1204 					togglefloating(NULL);
  1198 			}
  1205 			}
  1199 			if(!lt->arrange || c->isfloating)
  1206 			if(!lt->arrange || c->isfloating)
  1200 				resize(c, c->x, c->y, nw, nh, True);
  1207 				resize(c, c->x, c->y, nw, nh, True);
  1201 			break;
  1208 			break;
  1202 		}
  1209 		}