check transient and isfixed for setting floating state, even if we can loadprops
This commit is contained in:
parent
1b63e8a3c5
commit
768aef8960
25
client.c
25
client.c
|
@ -367,20 +367,21 @@ client_manage(Window w, XWindowAttributes *wa, int screen)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
move_client_to_screen(c, screen, True);
|
move_client_to_screen(c, screen, True);
|
||||||
/* check for transient and set tags like its parent,
|
|
||||||
* XGetTransientForHint returns 1 on success
|
|
||||||
*/
|
|
||||||
if((rettrans = XGetTransientForHint(globalconf.display, w, &trans))
|
|
||||||
&& (t = client_get_bywin(globalconf.clients, trans)))
|
|
||||||
for(tag = globalconf.screens[c->screen].tags; tag; tag = tag->next)
|
|
||||||
if(is_client_tagged(t, tag))
|
|
||||||
tag_client(c, tag);
|
|
||||||
|
|
||||||
/* should be floating if transsient or fixed */
|
|
||||||
if(!c->isfloating)
|
|
||||||
client_setfloating(c, rettrans || c->isfixed);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* check for transient and set tags like its parent,
|
||||||
|
* XGetTransientForHint returns 1 on success
|
||||||
|
*/
|
||||||
|
if((rettrans = XGetTransientForHint(globalconf.display, w, &trans))
|
||||||
|
&& (t = client_get_bywin(globalconf.clients, trans)))
|
||||||
|
for(tag = globalconf.screens[c->screen].tags; tag; tag = tag->next)
|
||||||
|
if(is_client_tagged(t, tag))
|
||||||
|
tag_client(c, tag);
|
||||||
|
|
||||||
|
/* should be floating if transsient or fixed */
|
||||||
|
if(!c->isfloating)
|
||||||
|
client_setfloating(c, rettrans || c->isfixed);
|
||||||
|
|
||||||
if(!(flags & (USPosition | PPosition)))
|
if(!(flags & (USPosition | PPosition)))
|
||||||
c->f_geometry = client_get_smart_geometry(c->f_geometry, c->border, c->screen);
|
c->f_geometry = client_get_smart_geometry(c->f_geometry, c->border, c->screen);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue