]> Dogcows Code - chaz/openbox/blobdiff - openbox/screen.c
don't force reconfigure in a number of places, also eat enter events when reconfiguri...
[chaz/openbox] / openbox / screen.c
index 054a1c5e7d14197ca7511c74d2f3941fbbe56289..92d4d9a421bac5db1a62a8b59fc81cc9fee8f6b4 100644 (file)
@@ -1206,20 +1206,8 @@ void screen_update_areas()
                 dims, 4 * screen_num_desktops * screen_num_monitors);
 
     /* the area has changed, adjust all the windows if they need it */
-    for (it = client_list; it; it = g_list_next(it)) {
-        gint x, y, w, h, lw, lh;
-        ObClient *client = it->data;
-
-        RECT_TO_DIMS(client->area, x, y, w, h);
-        client_try_configure(client, &x, &y, &w, &h, &lw, &lh, FALSE);
-        if (!RECT_EQUAL_DIMS(client->area, x, y, w, h)) {
-            gulong ignore_start;
-
-            ignore_start = event_start_ignore_all_enters();
-            client_configure(client, x, y, w, h, FALSE, TRUE);
-            event_end_ignore_all_enters(ignore_start);
-        }
-    }
+    for (it = client_list; it; it = g_list_next(it))
+        client_reconfigure(it->data, FALSE);
 
     g_free(dims);
 }
@@ -1341,28 +1329,28 @@ Rect* screen_area(guint desktop, guint head, Rect *search)
 
             for (it = struts_left; it; it = g_slist_next(it)) {
                 ObScreenStrut *s = it->data;
-                if (s->desktop == d &&
+                if ((s->desktop == d || s->desktop == DESKTOP_ALL) &&
                     STRUT_LEFT_IN_SEARCH(s->strut, search) &&
                     !STRUT_LEFT_IGNORE(s->strut, us, search))
                     l = MAX(l, al + s->strut->left);
             }
             for (it = struts_top; it; it = g_slist_next(it)) {
                 ObScreenStrut *s = it->data;
-                if (s->desktop == d &&
+                if ((s->desktop == d || s->desktop == DESKTOP_ALL) &&
                     STRUT_TOP_IN_SEARCH(s->strut, search) &&
                     !STRUT_TOP_IGNORE(s->strut, us, search))
                     t = MAX(t, at + s->strut->top);
             }
             for (it = struts_right; it; it = g_slist_next(it)) {
                 ObScreenStrut *s = it->data;
-                if (s->desktop == d &&
+                if ((s->desktop == d || s->desktop == DESKTOP_ALL) &&
                     STRUT_RIGHT_IN_SEARCH(s->strut, search) &&
                     !STRUT_RIGHT_IGNORE(s->strut, us, search))
                     r = MIN(r, ar - s->strut->right);
             }
             for (it = struts_bottom; it; it = g_slist_next(it)) {
                 ObScreenStrut *s = it->data;
-                if (s->desktop == d &&
+                if ((s->desktop == d || s->desktop == DESKTOP_ALL) &&
                     STRUT_BOTTOM_IN_SEARCH(s->strut, search) &&
                     !STRUT_BOTTOM_IGNORE(s->strut, us, search))
                     b = MIN(b, ab - s->strut->bottom);
This page took 0.023025 seconds and 4 git commands to generate.