fix maximization on floating layouts
This commit is contained in:
parent
542df6a3ab
commit
7c93dd381e
7
client.c
7
client.c
|
@ -884,6 +884,7 @@ client_maximize(Client *c, Area geometry)
|
||||||
{
|
{
|
||||||
c->wasfloating = c->isfloating;
|
c->wasfloating = c->isfloating;
|
||||||
c->m_geometry = c->geometry;
|
c->m_geometry = c->geometry;
|
||||||
|
c->isfloating = False;
|
||||||
client_resize(c, geometry, False);
|
client_resize(c, geometry, False);
|
||||||
/* set floating after resizing so it won't save
|
/* set floating after resizing so it won't save
|
||||||
* coords */
|
* coords */
|
||||||
|
@ -898,6 +899,12 @@ client_maximize(Client *c, Area geometry)
|
||||||
restack(c->screen);
|
restack(c->screen);
|
||||||
widget_invalidate_cache(c->screen, WIDGET_CACHE_CLIENTS);
|
widget_invalidate_cache(c->screen, WIDGET_CACHE_CLIENTS);
|
||||||
}
|
}
|
||||||
|
else if(get_current_layout(c->screen)->arrange == layout_floating)
|
||||||
|
{
|
||||||
|
client_resize(c, c->m_geometry, False);
|
||||||
|
restack(c->screen);
|
||||||
|
widget_invalidate_cache(c->screen, WIDGET_CACHE_CLIENTS);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
c->isfloating = False;
|
c->isfloating = False;
|
||||||
|
|
Loading…
Reference in New Issue