Don't close the menu when you held control even for execute
authorMikael Magnusson <mikachu@gmail.com>
Mon, 18 Jan 2010 15:48:27 +0000 (16:48 +0100)
committerDana Jansens <danakj@orodu.net>
Mon, 8 Feb 2010 18:40:29 +0000 (13:40 -0500)
openbox/actions/execute.c
openbox/menuframe.c

index cb3ab24..4e0dfd8 100644 (file)
@@ -145,7 +145,8 @@ static gboolean run_func(ObActionsData *data, gpointer options)
 
     /* If there is a keyboard grab going on then we need to cancel
        it so the application can grab things */
 
     /* If there is a keyboard grab going on then we need to cancel
        it so the application can grab things */
-    event_cancel_all_key_grabs();
+    if (data->uact != OB_USER_ACTION_MENU_SELECTION)
+        event_cancel_all_key_grabs();
 
     if (!g_shell_parse_argv(cmd, NULL, &argv, &e)) {
         g_message(e->message, o->cmd);
 
     if (!g_shell_parse_argv(cmd, NULL, &argv, &e)) {
         g_message(e->message, o->cmd);
index f013bde..a3c3634 100644 (file)
@@ -1255,7 +1255,7 @@ void menu_entry_frame_execute(ObMenuEntryFrame *self, guint state)
 
         /* release grabs before executing the shit */
         if (!(state & ControlMask)) {
 
         /* release grabs before executing the shit */
         if (!(state & ControlMask)) {
-            menu_frame_hide_all();
+            event_cancel_all_key_grabs();
             frame = NULL;
         }
 
             frame = NULL;
         }