avoid managing unmanaged parents of transient windows
This commit is contained in:
5
client.c
5
client.c
@@ -181,9 +181,12 @@ void client_place_spot(Client *c, int spot, int mon, int force)
|
|||||||
|
|
||||||
// try to center over our transient parent
|
// try to center over our transient parent
|
||||||
if (!force && c->transient && (t = window_build_client(c->transient)))
|
if (!force && c->transient && (t = window_build_client(c->transient)))
|
||||||
|
{
|
||||||
|
if (t->manage)
|
||||||
{
|
{
|
||||||
spot = t->spot;
|
spot = t->spot;
|
||||||
mon = t->monitor;
|
mon = t->monitor;
|
||||||
|
}
|
||||||
client_free(t);
|
client_free(t);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -293,7 +296,7 @@ void client_raise_family(Client *c)
|
|||||||
for_windows(i, o) if (o->type == atoms[_NET_WM_WINDOW_TYPE_DOCK])
|
for_windows(i, o) if (o->type == atoms[_NET_WM_WINDOW_TYPE_DOCK])
|
||||||
client_stack_family(o, &raise);
|
client_stack_family(o, &raise);
|
||||||
|
|
||||||
while (c->transient && (o = window_build_client(c->transient)))
|
while (c->transient && (o = window_build_client(c->transient)) && o->manage)
|
||||||
c = family.clients[family.depth++] = o;
|
c = family.clients[family.depth++] = o;
|
||||||
|
|
||||||
client_stack_family(c, &raise);
|
client_stack_family(c, &raise);
|
||||||
|
|||||||
Reference in New Issue
Block a user