X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fmouse.c;h=2f0c8f59f70e3f39bffbb6070595d08d53995274;hb=HEAD;hp=567ec4dc2817284f84b04c42937d9d0ae95d8364;hpb=f307a3feabedd9bcadeaafd0fa8e1b1a60736eb2;p=chaz%2Fopenbox diff --git a/openbox/mouse.c b/openbox/mouse.c index 567ec4dc..2f0c8f59 100644 --- a/openbox/mouse.c +++ b/openbox/mouse.c @@ -66,6 +66,7 @@ ObFrameContext mouse_button_frame_context(ObFrameContext context, case OB_FRAME_CONTEXT_MOVE_RESIZE: case OB_FRAME_CONTEXT_LEFT: case OB_FRAME_CONTEXT_RIGHT: + case OB_FRAME_CONTEXT_DOCK: break; case OB_FRAME_CONTEXT_ROOT: x = OB_FRAME_CONTEXT_DESKTOP; @@ -210,7 +211,7 @@ gboolean mouse_event(ObClient *client, XEvent *e) static Time ltime; static guint button = 0, state = 0, lbutton = 0; static Window lwindow = None; - static gint px, py, pwx = -1, pwy = -1; + static gint px, py, pwx = -1, pwy = -1, lx = -10, ly = -10; gboolean used = FALSE; ObFrameContext context; @@ -289,18 +290,24 @@ gboolean mouse_event(ObClient *client, XEvent *e) if (e->xbutton.x >= (signed)-b && e->xbutton.y >= (signed)-b && e->xbutton.x < (signed)(w+b) && - e->xbutton.y < (signed)(h+b)) { + e->xbutton.y < (signed)(h+b)) + { click = TRUE; /* double clicks happen if there were 2 in a row! */ if (lbutton == button && lwindow == e->xbutton.window && e->xbutton.time - config_mouse_dclicktime <= - ltime) { + ltime && + ABS(e->xbutton.x - lx) < 8 && + ABS(e->xbutton.y - ly) < 8) + { dclick = TRUE; lbutton = 0; } else { lbutton = button; lwindow = e->xbutton.window; + lx = e->xbutton.x; + ly = e->xbutton.y; } } else { lbutton = 0;