button presses which run actions during interactive actions will cancel the action.
authorDana Jansens <danakj@orodu.net>
Wed, 9 May 2007 04:08:57 +0000 (04:08 +0000)
committerDana Jansens <danakj@orodu.net>
Wed, 9 May 2007 04:08:57 +0000 (04:08 +0000)
when you cancel switching desktops, don't go back, just stop.

openbox/action.c
openbox/keyboard.c

index 4839088..c106ead 100644 (file)
@@ -1521,11 +1521,6 @@ void action_send_to_desktop(union ActionData *data)
 
 void action_desktop(union ActionData *data)
 {
-    static guint first = (unsigned) -1;
-
-    if (data->inter.any.interactive && first == (unsigned) -1)
-        first = screen_desktop;
-
     if (!data->inter.any.interactive ||
         (!data->inter.cancel && !data->inter.final))
     {
@@ -1536,14 +1531,10 @@ void action_desktop(union ActionData *data)
             if (data->inter.any.interactive)
                 screen_desktop_popup(data->desktop.desk, TRUE);
         }
-    } else if (data->inter.cancel) {
-        screen_set_desktop(first, TRUE);
     }
 
-    if (!data->inter.any.interactive || data->inter.final) {
+    if (!data->inter.any.interactive || data->inter.final)
         screen_desktop_popup(0, FALSE);
-        first = (unsigned) -1;
-    }
 }
 
 void action_desktop_dir(union ActionData *data)
index f6fe64e..d8f35bc 100644 (file)
@@ -249,7 +249,7 @@ gboolean keyboard_process_interactive_grab(const XEvent *e, ObClient **client)
                   handled = TRUE;
               }
         } else if (e->type == ButtonPress) {
-            cancel = FALSE;
+            cancel = TRUE;
             done = TRUE;
             handled = FALSE;
         }