dwm.c
changeset 1081 2345b08ec46b
parent 1080 9bfb57c89407
child 1082 3a617d40e320
equal deleted inserted replaced
1080:9bfb57c89407 1081:2345b08ec46b
   366 	else if((c = getclient(ev->window))) {
   366 	else if((c = getclient(ev->window))) {
   367 		focus(c);
   367 		focus(c);
   368 		if(CLEANMASK(ev->state) != MODKEY)
   368 		if(CLEANMASK(ev->state) != MODKEY)
   369 			return;
   369 			return;
   370 		if(ev->button == Button1) {
   370 		if(ev->button == Button1) {
   371 			if((m->layout->arrange == floating) || c->isfloating)
   371 			restack();
   372 				restack();
       
   373 			else
       
   374 				togglefloating(NULL);
       
   375 			movemouse(c);
   372 			movemouse(c);
   376 		}
   373 		}
   377 		else if(ev->button == Button2) {
   374 		else if(ev->button == Button2) {
   378 			if((floating != m->layout->arrange) && c->isfloating)
   375 			if((floating != m->layout->arrange) && c->isfloating)
   379 				togglefloating(NULL);
   376 				togglefloating(NULL);
   380 			else
   377 			zoom(NULL);
   381 				zoom(NULL);
       
   382 		}
   378 		}
   383 		else if(ev->button == Button3 && !c->isfixed) {
   379 		else if(ev->button == Button3 && !c->isfixed) {
   384 			if((floating == m->layout->arrange) || c->isfloating)
   380 			restack();
   385 				restack();
       
   386 			else
       
   387 				togglefloating(NULL);
       
   388 			resizemouse(c);
   381 			resizemouse(c);
   389 		}
   382 		}
   390 	}
   383 	}
   391 }
   384 }
   392 
   385 
  1193 				nx = m->wax + m->waw - c->w - 2 * c->border;
  1186 				nx = m->wax + m->waw - c->w - 2 * c->border;
  1194 			if(abs(m->way - ny) < SNAP)
  1187 			if(abs(m->way - ny) < SNAP)
  1195 				ny = m->way;
  1188 				ny = m->way;
  1196 			else if(abs((m->way + m->wah) - (ny + c->h + 2 * c->border)) < SNAP)
  1189 			else if(abs((m->way + m->wah) - (ny + c->h + 2 * c->border)) < SNAP)
  1197 				ny = m->way + m->wah - c->h - 2 * c->border;
  1190 				ny = m->way + m->wah - c->h - 2 * c->border;
  1198 			resize(c, nx, ny, c->w, c->h, False);
  1191 			if((monitors[selmonitor].layout->arrange != floating) && (abs(nx - c->x) > SNAP || abs(ny - c->y) > SNAP))
       
  1192 				togglefloating(NULL);
       
  1193 			if((monitors[selmonitor].layout->arrange == floating) || c->isfloating)
       
  1194 				resize(c, nx, ny, c->w, c->h, False);
  1199 			memcpy(c->tags, monitors[monitorat()].seltags, sizeof initags);
  1195 			memcpy(c->tags, monitors[monitorat()].seltags, sizeof initags);
  1200 			break;
  1196 			break;
  1201 		}
  1197 		}
  1202 	}
  1198 	}
  1203 }
  1199 }
  1356 			XSync(dpy, False);
  1352 			XSync(dpy, False);
  1357 			if((nw = ev.xmotion.x - ocx - 2 * c->border + 1) <= 0)
  1353 			if((nw = ev.xmotion.x - ocx - 2 * c->border + 1) <= 0)
  1358 				nw = 1;
  1354 				nw = 1;
  1359 			if((nh = ev.xmotion.y - ocy - 2 * c->border + 1) <= 0)
  1355 			if((nh = ev.xmotion.y - ocy - 2 * c->border + 1) <= 0)
  1360 				nh = 1;
  1356 				nh = 1;
  1361 			resize(c, c->x, c->y, nw, nh, True);
  1357 			if((monitors[selmonitor].layout->arrange != floating) && (abs(nw - c->w) > SNAP || abs(nh - c->h) > SNAP))
       
  1358 				togglefloating(NULL);
       
  1359 			if((monitors[selmonitor].layout->arrange == floating) || c->isfloating)
       
  1360 				resize(c, c->x, c->y, nw, nh, True);
  1362 			break;
  1361 			break;
  1363 		}
  1362 		}
  1364 	}
  1363 	}
  1365 }
  1364 }
  1366 
  1365