[core] Fix ConfigureRequest handling for non-floating windows
Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
parent
981c47835e
commit
3fa15dd272
8
event.c
8
event.c
|
@ -185,10 +185,16 @@ event_handle_configurerequest(XEvent * e)
|
||||||
if(geometry.x != c->geometry.x || geometry.y != c->geometry.y
|
if(geometry.x != c->geometry.x || geometry.y != c->geometry.y
|
||||||
|| geometry.width != c->geometry.width || geometry.height != c->geometry.height)
|
|| geometry.width != c->geometry.width || geometry.height != c->geometry.height)
|
||||||
{
|
{
|
||||||
if(c->isfloating)
|
if(c->isfloating || layout_get_current(c->screen)->arrange == layout_floating)
|
||||||
client_resize(c, geometry, False);
|
client_resize(c, geometry, False);
|
||||||
else
|
else
|
||||||
|
{
|
||||||
globalconf.screens[c->screen].need_arrange = True;
|
globalconf.screens[c->screen].need_arrange = True;
|
||||||
|
/* If we do not resize the client, at least tell it that it
|
||||||
|
* has its new configuration. That fixes at least
|
||||||
|
* gnome-terminal */
|
||||||
|
window_configure(c->win, c->geometry, c->border);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue