[placement] Really resize client if we change the placement (FS#152)

Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
Julien Danjou 2008-04-03 20:11:38 +02:00
parent c940cd723d
commit d4764787c5
1 changed files with 5 additions and 8 deletions

View File

@ -299,7 +299,6 @@ client_manage(Window w, XWindowAttributes *wa, int screen)
XWindowChanges wc;
Tag *tag;
Rule *rule;
area_t screen_geom;
long flags;
c = p_new(Client, 1);
@ -311,13 +310,10 @@ client_manage(Window w, XWindowAttributes *wa, int screen)
else
c->phys_screen = c->screen;
screen_geom = screen_get_area(c->screen,
globalconf.screens[screen].statusbar,
&globalconf.screens[screen].padding);
/* Initial values */
c->win = w;
c->geometry.x = c->f_geometry.x = c->m_geometry.x = MAX(wa->x, screen_geom.x);
c->geometry.y = c->f_geometry.y = c->m_geometry.y = MAX(wa->y, screen_geom.y);
c->geometry.x = c->f_geometry.x = c->m_geometry.x = wa->x;
c->geometry.y = c->f_geometry.y = c->m_geometry.y = wa->y;
c->geometry.width = c->f_geometry.width = c->m_geometry.width = wa->width;
c->geometry.height = c->f_geometry.height = c->m_geometry.height = wa->height;
c->oldborder = wa->border_width;
@ -394,9 +390,10 @@ client_manage(Window w, XWindowAttributes *wa, int screen)
if(!retloadprops && !(flags & (USPosition | PPosition)))
{
c->f_geometry = globalconf.screens[c->screen].floating_placement(c);
if(c->isfloating)
client_resize(c, c->f_geometry, False);
client_resize(c, globalconf.screens[c->screen].floating_placement(c), False);
else
c->f_geometry = globalconf.screens[c->screen].floating_placement(c);
}
/* update titlebar with real floating info now */