Smart placement support handling titlebar

This commit is contained in:
Julien Danjou 2008-03-14 17:52:42 +01:00
parent a6b203f8a6
commit b6f86ebb63
2 changed files with 19 additions and 0 deletions

View file

@ -436,8 +436,18 @@ client_manage(Window w, XWindowAttributes *wa, int screen)
client_setfloating(c, rettrans || c->isfixed);
if(!(flags & (USPosition | PPosition)))
{
c->f_geometry =
globalconf.screens[c->screen].floating_placement(c->f_geometry, c->border, c->screen);
switch(c->titlebar.position)
{
case Top:
c->f_geometry.y += c->titlebar.sw->geometry.height;
break;
default:
break;
}
}
XSelectInput(globalconf.display, w, StructureNotifyMask | PropertyChangeMask | EnterWindowMask);

View file

@ -82,6 +82,15 @@ placement_smart(area_t geometry, int border, int screen)
newgeometry = c->f_geometry;
newgeometry.width += 2 * c->border;
newgeometry.height += 2 * c->border;
switch(c->titlebar.position)
{
case Top:
newgeometry.height += c->titlebar.sw->geometry.height;
newgeometry.y -= c->titlebar.sw->geometry.height;
break;
default:
break;
}
area_list_remove(&arealist, &newgeometry);
}