]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
when un-showing the desktop if a window is getting shown, iconify the others so just...
[chaz/openbox] / openbox / event.c
index 271114a27d0907f77a8aee42533fe2dd11add46d..c529f15648e12dcb790b3866fcafe621a17ba272 100644 (file)
@@ -577,9 +577,6 @@ static void event_process(const XEvent *ec, gpointer data)
             ObClient *c = client_fake_manage(e->xclient.window);
             gulong vals[4];
 
-            /* adjust the decorations so we know the sizes */
-            frame_adjust_area(c->frame, FALSE, TRUE, TRUE);
-
             /* set the frame extents on the window */
             vals[0] = c->frame->size.left;
             vals[1] = c->frame->size.right;
@@ -593,7 +590,7 @@ static void event_process(const XEvent *ec, gpointer data)
         }
     }
     else if (e->type == ConfigureRequest) {
-        /* unhandled config5Aure requests must be used to configure the
+        /* unhandled configure requests must be used to configure the
            window directly */
         XWindowChanges xwc;
 
@@ -663,7 +660,7 @@ static void event_handle_root(XEvent *e)
             if (d > 0)
                 screen_set_num_desktops(d);
         } else if (msgtype == prop_atoms.net_showing_desktop) {
-            screen_show_desktop(e->xclient.data.l[0] != 0, TRUE);
+            screen_show_desktop(e->xclient.data.l[0] != 0, NULL);
         } else if (msgtype == prop_atoms.openbox_control) {
             if (e->xclient.data.l[0] == 1)
                 ob_reconfigure();
@@ -1030,8 +1027,9 @@ static void event_handle_client(ObClient *client, XEvent *e)
                     sibling = WINDOW_AS_CLIENT(win);
             }
 
+            /* activate it rather than just focus it */
             stacking_restack_request(client, sibling,
-                                     e->xconfigurerequest.detail);
+                                     e->xconfigurerequest.detail, TRUE);
         }
         break;
     case UnmapNotify:
@@ -1236,12 +1234,14 @@ static void event_handle_client(ObClient *client, XEvent *e)
                     e->xclient.data.l[2] == TopIf ||
                     e->xclient.data.l[2] == Opposite)
                 {
+                    /* just raise, don't activate */
                     stacking_restack_request(client, sibling,
-                                             e->xclient.data.l[2]);
-                }
-                ob_debug_type(OB_DEBUG_APP_BUGS, "_NET_RESTACK_WINDOW sent "
-                              "for window %s with invalid detail 0d\n",
-                              client->title, e->xclient.data.l[2]);
+                                             e->xclient.data.l[2], FALSE);
+                } else
+                    ob_debug_type(OB_DEBUG_APP_BUGS,
+                                  "_NET_RESTACK_WINDOW sent for window %s "
+                                  "with invalid detail %d\n",
+                                  client->title, e->xclient.data.l[2]);
             }
         }
         break;
This page took 0.021592 seconds and 4 git commands to generate.