iDon't restrict snap in mousemove - dwm - dynamic window manager Err parazyd.org 70 hgit clone https://git.parazyd.org/dwm URL:https://git.parazyd.org/dwm parazyd.org 70 1Log /git/dwm/log.gph parazyd.org 70 1Files /git/dwm/files.gph parazyd.org 70 1Refs /git/dwm/refs.gph parazyd.org 70 1README /git/dwm/file/README.gph parazyd.org 70 1LICENSE /git/dwm/file/LICENSE.gph parazyd.org 70 i--- Err parazyd.org 70 1commit 5b238c8dab945023b6a16a6c9f642b11137f2204 /git/dwm/commit/5b238c8dab945023b6a16a6c9f642b11137f2204.gph parazyd.org 70 1parent 022d07605412bc5bd9726f74af9355c562ba4957 /git/dwm/commit/022d07605412bc5bd9726f74af9355c562ba4957.gph parazyd.org 70 hAuthor: Markus Teich URL:mailto:markus.teich@stusta.mhn.de parazyd.org 70 iDate: Sat, 7 Jan 2017 17:21:30 +0100 Err parazyd.org 70 i Err parazyd.org 70 iDon't restrict snap in mousemove Err parazyd.org 70 i Err parazyd.org 70 iThis also fixes a bug where client windows only switch to floating mode when the Err parazyd.org 70 imouse is dragged in one specific direction. Err parazyd.org 70 i Err parazyd.org 70 iDiffstat: Err parazyd.org 70 i M dwm.c | 25 +++++++++++-------------- Err parazyd.org 70 i Err parazyd.org 70 i1 file changed, 11 insertions(+), 14 deletions(-) Err parazyd.org 70 i--- Err parazyd.org 70 1diff --git a/dwm.c b/dwm.c /git/dwm/file/dwm.c.gph parazyd.org 70 i@@ -1170,20 +1170,17 @@ movemouse(const Arg *arg) Err parazyd.org 70 i Err parazyd.org 70 i nx = ocx + (ev.xmotion.x - x); Err parazyd.org 70 i ny = ocy + (ev.xmotion.y - y); Err parazyd.org 70 i- if (nx >= selmon->wx && nx <= selmon->wx + selmon->ww Err parazyd.org 70 i- && ny >= selmon->wy && ny <= selmon->wy + selmon->wh) { Err parazyd.org 70 i- if (abs(selmon->wx - nx) < snap) Err parazyd.org 70 i- nx = selmon->wx; Err parazyd.org 70 i- else if (abs((selmon->wx + selmon->ww) - (nx + WIDTH(c))) < snap) Err parazyd.org 70 i- nx = selmon->wx + selmon->ww - WIDTH(c); Err parazyd.org 70 i- if (abs(selmon->wy - ny) < snap) Err parazyd.org 70 i- ny = selmon->wy; Err parazyd.org 70 i- else if (abs((selmon->wy + selmon->wh) - (ny + HEIGHT(c))) < snap) Err parazyd.org 70 i- ny = selmon->wy + selmon->wh - HEIGHT(c); Err parazyd.org 70 i- if (!c->isfloating && selmon->lt[selmon->sellt]->arrange Err parazyd.org 70 i- && (abs(nx - c->x) > snap || abs(ny - c->y) > snap)) Err parazyd.org 70 i- togglefloating(NULL); Err parazyd.org 70 i- } Err parazyd.org 70 i+ if (abs(selmon->wx - nx) < snap) Err parazyd.org 70 i+ nx = selmon->wx; Err parazyd.org 70 i+ else if (abs((selmon->wx + selmon->ww) - (nx + WIDTH(c))) < snap) Err parazyd.org 70 i+ nx = selmon->wx + selmon->ww - WIDTH(c); Err parazyd.org 70 i+ if (abs(selmon->wy - ny) < snap) Err parazyd.org 70 i+ ny = selmon->wy; Err parazyd.org 70 i+ else if (abs((selmon->wy + selmon->wh) - (ny + HEIGHT(c))) < snap) Err parazyd.org 70 i+ ny = selmon->wy + selmon->wh - HEIGHT(c); Err parazyd.org 70 i+ if (!c->isfloating && selmon->lt[selmon->sellt]->arrange Err parazyd.org 70 i+ && (abs(nx - c->x) > snap || abs(ny - c->y) > snap)) Err parazyd.org 70 i+ togglefloating(NULL); Err parazyd.org 70 i if (!selmon->lt[selmon->sellt]->arrange || c->isfloating) Err parazyd.org 70 i resize(c, nx, ny, c->w, c->h, 1); Err parazyd.org 70 i break; Err parazyd.org 70 .