]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
when client removes its transient_for hint, don't keep the window as transient for...
[chaz/openbox] / openbox / event.c
index c4af7b232753df61f332c3b09772af24454aafcd..3126ef92a9ef2d9e338f5640c2703834e69c763d 100644 (file)
@@ -1253,8 +1253,9 @@ static void event_handle_client(ObClient *client, XEvent *e)
            XXX remove this some day...that would be nice. but really unexpected
            from Sun Microsystems.
         */
-        g_print("x %d y %d grav %d %d\n", x, y, client->gravity, NorthWestGravity);
-        if (x == 0 && y == 0 && client->gravity == NorthWestGravity) {
+        if (x == 0 && y == 0 && client->gravity == NorthWestGravity &&
+            client_normal(client))
+        {
             const Rect to = { x, y, w, h };
 
             /* oldschool fullscreen windows are allowed */
@@ -1621,8 +1622,11 @@ static void event_handle_client(ObClient *client, XEvent *e)
         } else if (msgtype == XA_WM_HINTS) {
             client_update_wmhints(client);
         } else if (msgtype == XA_WM_TRANSIENT_FOR) {
-            client_update_transient_for(client);
+            /* get the transient-ness first, as this affects if the client
+               decides to be transient for the group or not in
+               client_update_transient_for() */
             client_get_type_and_transientness(client);
+            client_update_transient_for(client);
             /* type may have changed, so update the layer */
             client_calc_layer(client);
             client_setup_decor_and_functions(client, TRUE);
@@ -1881,7 +1885,7 @@ static gboolean event_handle_menu_input(XEvent *ev)
                 ret = TRUE;
             }
 
-            else if (sym == XK_Return) {
+            else if (sym == XK_Return || sym == XK_KP_Enter) {
                 frame->press_doexec = TRUE;
                 ret = TRUE;
             }
This page took 0.021559 seconds and 4 git commands to generate.