]> Dogcows Code - chaz/openbox/blobdiff - openbox/mouse.c
Merge branch 'master' into chaz
[chaz/openbox] / openbox / mouse.c
index 567ec4dc2817284f84b04c42937d9d0ae95d8364..2f0c8f59f70e3f39bffbb6070595d08d53995274 100644 (file)
@@ -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;
This page took 0.023153 seconds and 4 git commands to generate.