]> Dogcows Code - chaz/openbox/blobdiff - openbox/action.c
grab the pointer when windows move them selves so no enter events happen. i wonder...
[chaz/openbox] / openbox / action.c
index 3f43a238ea6ad7abb51fe79bd1836a7131e00f43..60af74b5e4723a879b3c97e5038cd149f1ca4925 100644 (file)
@@ -1141,9 +1141,15 @@ void action_run_list(GSList *acts, ObClient *c, ObFrameContext context,
 
             /* XXX UGLY HACK race with motion event starting a move and the
                button release gettnig processed first. answer: don't queue
-               moveresize starts. UGLY HACK XXX */
+               moveresize starts. UGLY HACK XXX
+
+               XXX ALSO don't queue showmenu events, because on button press
+               events we need to know if a mouse grab is going to take place,
+               and set the button to 0, so that later motion events don't think
+               that a drag is going on. since showmenu grabs the pointer..
+            */
             if (a->data.any.interactive || a->func == action_move ||
-                a->func == action_resize)
+                a->func == action_resize || a->func == action_showmenu)
             {
                 /* interactive actions are not queued */
                 a->func(&a->data);
@@ -1309,7 +1315,7 @@ void action_focus(union ActionData *data)
 void action_unfocus (union ActionData *data)
 {
     if (data->client.any.c == focus_client)
-        focus_fallback(TRUE);
+        focus_fallback(FALSE);
 }
 
 void action_iconify(union ActionData *data)
This page took 0.022569 seconds and 4 git commands to generate.