]> Dogcows Code - chaz/openbox/commitdiff
make the new placement restrictions not affect !normal windows like panels
authorDana Jansens <danakj@orodu.net>
Mon, 28 Jul 2003 19:53:54 +0000 (19:53 +0000)
committerDana Jansens <danakj@orodu.net>
Mon, 28 Jul 2003 19:53:54 +0000 (19:53 +0000)
openbox/client.c
openbox/event.c
openbox/screen.c

index 70873a4377a889dc4b6cd7b701cf08f03f28a489..878654628ee583f911485a6411b9a1f40efd6f68 100644 (file)
@@ -300,7 +300,8 @@ void client_manage(Window window)
     dispatch_client(Event_Client_New, self, 0, 0);
 
     /* make sure the window is visible */
-    client_move_onscreen(self, TRUE);
+    if (client_normal(self))
+        client_move_onscreen(self, TRUE);
 
     screen_update_areas();
 
@@ -1346,8 +1347,11 @@ void client_update_strut(ObClient *self)
     if (!PROP_GETA32(self->window, net_wm_strut, cardinal, &data, &num)) {
        STRUT_SET(self->strut, 0, 0, 0, 0);
     } else {
-        if (num == 4)
+        if (num == 4) {
+            g_message("new strut: %d %d %d %d",
+                      data[0], data[2], data[1], data[3]);
             STRUT_SET(self->strut, data[0], data[2], data[1], data[3]);
+        }
         else
             STRUT_SET(self->strut, 0, 0, 0, 0);
        g_free(data);
index e1ab8fef63f75fca06b565ae4c092952e687809c..2a705e50501bdd475689e3dccb7880af895e6b20 100644 (file)
@@ -776,7 +776,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
            h = (e->xconfigurerequest.value_mask & CWHeight) ?
                e->xconfigurerequest.height : client->area.height;
 
-            {
+            if (client_normal(client)) {
                 int newx = x;
                 int newy = y;
                 client_find_onscreen(client, &newx, &newy, w, h, TRUE);
@@ -974,7 +974,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
                 h = client->area.y;
             client->gravity = tmpg;
 
-            {
+            if (client_normal(client)) {
                 int newx = x;
                 int newy = y;
                 client_find_onscreen(client, &newx, &newy, w, h, TRUE);
@@ -1031,8 +1031,10 @@ static void event_handle_client(ObClient *client, XEvent *e)
            client_update_protocols(client);
            client_setup_decor_and_functions(client);
        }
-       else if (msgtype == prop_atoms.net_wm_strut)
+       else if (msgtype == prop_atoms.net_wm_strut) {
+            g_message("strut change");
            client_update_strut(client);
+        }
        else if (msgtype == prop_atoms.net_wm_icon ||
                  msgtype == prop_atoms.kwm_win_icon)
            client_update_icons(client);
index b312aba9b73d443b3305187871b5e3c6a7f0d6ca..3c2010a1433b391164f0340c78f225e81fbcafea 100644 (file)
@@ -637,8 +637,6 @@ void screen_update_areas()
 {
     guint i, x;
     guint32 *dims;
-    Rect **old_area = area;
-    Rect **rit;
     GList *it;
 
     g_free(monitor_area);
@@ -657,7 +655,6 @@ void screen_update_areas()
      
     dims = g_new(guint32, 4 * screen_num_desktops);
 
-    rit = old_area;
     for (i = 0; i < screen_num_desktops + 1; ++i) {
         Strut s;
         int l, r, t, b;
@@ -800,7 +797,7 @@ void screen_update_areas()
         }
     }
     PROP_SETA32(RootWindow(ob_display, ob_screen), net_workarea, cardinal,
-               dims, 4 * screen_num_desktops);
+                dims, 4 * screen_num_desktops);
 
     g_free(dims);
 }
This page took 0.031778 seconds and 4 git commands to generate.