diff options
Diffstat (limited to 'commands.c')
-rw-r--r-- | commands.c | 23 |
1 files changed, 9 insertions, 14 deletions
@@ -262,6 +262,11 @@ Bool is_motionnotify(Display *d, XEvent *e, XPointer a) return e != NULL && e->type == MotionNotify; } +#define WARP(x,y) \ + XWarpPointer(win.env.dpy, None, win.xwin, 0, 0, 0, 0, x, y); \ + ox = x, oy = y; \ + break + bool i_drag(arg_t a) { int dx = 0, dy = 0, i, ox, oy, x, y; @@ -290,28 +295,18 @@ bool i_drag(arg_t a) x = e.xmotion.x; y = e.xmotion.y; -#define WARP(x, y) \ - XWarpPointer(win.env.dpy, \ - None, win.xwin, \ - 0, 0, 0, 0, \ - x, y); \ - ox = x, oy = y; \ - break - /* wrap the mouse around */ - if(x < 0){ + if (x < 0) { WARP(win.w, y); - }else if(x > win.w){ + } else if (x > win.w) { WARP(0, y); - }else if(y < 0){ + } else if (y < 0) { WARP(x, win.h); - }else if(y > win.h){ + } else if (y > win.h) { WARP(x, 0); } - dx += x - ox; dy += y - oy; - ox = x; oy = y; break; |