Smart placement support handling titlebar
This commit is contained in:
parent
a6b203f8a6
commit
b6f86ebb63
10
client.c
10
client.c
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue