]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
kill all enter events on a desktop switch
[chaz/openbox] / openbox / event.c
index deb3bb47929a8403926f564547e67941da9bc644..51f93c3b73453b60a01f806a7f40aa55f91c86a6 100644 (file)
@@ -22,12 +22,10 @@ static void event_handle_client(Client *c, XEvent *e);
 
 Time event_lasttime = 0;
 
-/*! A list of all possible combinations of keyboard lock masks */
-static unsigned int mask_list[8];
 /*! The value of the mask for the NumLock modifier */
-static unsigned int NumLockMask;
+unsigned int NumLockMask;
 /*! The value of the mask for the ScrollLock modifier */
-static unsigned int ScrollLockMask;
+unsigned int ScrollLockMask;
 /*! The key codes for the modifier keys */
 static XModifierKeymap *modmap;
 /*! Table of the constant modifier masks */
@@ -63,15 +61,6 @@ void event_startup()
                ScrollLockMask = mask_table[cnt / modmap->max_keypermod];
        }
     }
-
-    mask_list[0] = 0;
-    mask_list[1] = LockMask;
-    mask_list[2] = NumLockMask;
-    mask_list[3] = LockMask | NumLockMask;
-    mask_list[4] = ScrollLockMask;
-    mask_list[5] = ScrollLockMask | LockMask;
-    mask_list[6] = ScrollLockMask | NumLockMask;
-    mask_list[7] = ScrollLockMask | LockMask | NumLockMask;
 }
 
 void event_shutdown()
@@ -461,7 +450,16 @@ static void event_handle_client(Client *client, XEvent *e)
        /* we shouldn't be able to get this unless we're iconic */
        g_assert(client->iconic);
 
-       /*HOOKFIRECLIENT(requestactivate, client);XXX*/
+        if (screen_showing_desktop)
+            screen_show_desktop(FALSE);
+        client_iconify(client, FALSE, TRUE);
+        if (!client->frame->visible)
+            /* if its not visible still, then don't mess with it */
+            break;
+        if (client->shaded)
+            client_shade(client, FALSE);
+        client_focus(client);
+        stacking_raise(client);
        break;
     case ClientMessage:
        /* validate cuz we query stuff off the client here */
@@ -520,7 +518,7 @@ static void event_handle_client(Client *client, XEvent *e)
            else if (!client->frame->visible)
                /* if its not visible for other reasons, then don't mess
                   with it */
-               return;
+               break;
             if (client->shaded)
                 client_shade(client, FALSE);
             client_focus(client);
This page took 0.020904 seconds and 4 git commands to generate.