about summary refs log tree commit diff
path: root/kbfunc.c
diff options
context:
space:
mode:
authorokan <okan>2011-06-24 06:06:24 +0000
committerokan <okan>2011-06-24 06:06:24 +0000
commit34ba6cdbcc03111d75e2336739aa70edc7da5a1d (patch)
treea0d1ba0b07ab1606184abdf22ddf02849c2e6e46 /kbfunc.c
parentb230e611beebcaab31379f2230b81ab4cf6b890a (diff)
downloadcwm-34ba6cdbcc03111d75e2336739aa70edc7da5a1d.tar.gz
cwm-34ba6cdbcc03111d75e2336739aa70edc7da5a1d.tar.xz
cwm-34ba6cdbcc03111d75e2336739aa70edc7da5a1d.zip
introduce a new config option to snap to the screen edge. 'snapdist'
keyword taken from a diff from Sviatoslav Chagaev to do the same thing,
but implemented in a completely way (based on some very old code from
mk@).  default set to 0, so no behavior change.

ok oga@ (who would also like to take it further...)
Diffstat (limited to 'kbfunc.c')
-rw-r--r--kbfunc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/kbfunc.c b/kbfunc.c
index a60fc33..2946173 100644
--- a/kbfunc.c
+++ b/kbfunc.c
@@ -100,6 +100,13 @@ kbfunc_moveresize(struct client_ctx *cc, union arg *arg)
 		if (cc->geom.x > cc->sc->xmax - 1)
 			cc->geom.x = cc->sc->xmax - 1;
 
+		cc->geom.x += client_snapcalc(cc->geom.x,
+		    cc->geom.width, cc->sc->xmax,
+		    cc->bwidth, Conf.snapdist);
+		cc->geom.y += client_snapcalc(cc->geom.y,
+		    cc->geom.height, cc->sc->ymax,
+		    cc->bwidth, Conf.snapdist);
+
 		client_move(cc);
 		xu_ptr_getpos(cc->win, &x, &y);
 		cc->ptr.y = y + my;