fix maximize on map
authorCarsten Haitzler <raster@rasterman.com>
Mon, 22 Aug 2005 04:16:25 +0000 (04:16 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Mon, 22 Aug 2005 04:16:25 +0000 (04:16 +0000)
SVN revision: 16264

src/bin/e_border.c
src/bin/e_border.h

index 29a65bc..49c547e 100644 (file)
@@ -1161,6 +1161,11 @@ e_border_maximize(E_Border *bd, E_Maximize max)
        int x1, y1, x2, y2;
        int w, h;
 
+       if (bd->new_client)
+         {
+            bd->need_maximize = 1;
+            return;
+         }
        bd->saved.x = bd->x;
        bd->saved.y = bd->y;
        bd->saved.w = bd->w;
@@ -2285,8 +2290,8 @@ _e_border_cb_window_configure_request(void *data, int ev_type, void *ev)
 
    bd = data;
    e = ev;
-//   printf("##- CONF REQ 0x%x , %iX%i+%i+%i\n",
-//       e->win, e->w, e->h, e->x, e->y);
+   printf("##- CONF REQ 0x%x , %iX%i+%i+%i\n",
+         e->win, e->w, e->h, e->x, e->y);
    bd = e_border_find_by_client_window(e->win);
    if (!bd)
      {
@@ -4721,6 +4726,12 @@ _e_border_eval(E_Border *bd)
        bd->changes.shaded = 0;
      }
 
+   if (bd->need_maximize)
+     {
+       e_border_maximize(bd, e_config->maximize_policy);
+       bd->need_maximize = 0;
+     }
+   
    if ((bd->changes.pos) && (bd->changes.size))
      {
 //     printf("##- BORDER NEEDS POS/SIZE CHANGE 0x%x\n", bd->client.win);
index 723c045..bbe3743 100644 (file)
@@ -288,6 +288,7 @@ struct _E_Border
    unsigned int    take_focus : 1;
    unsigned int    want_focus : 1;
    unsigned int    user_skip_winlist : 1;
+   unsigned int    need_maximize : 1;
    E_Maximize      maximized;
 
    unsigned int    lock_user_location : 1; /*DONE*/