diff --git a/src/mango.c b/src/mango.c index ade4f51..c75ed15 100644 --- a/src/mango.c +++ b/src/mango.c @@ -3963,15 +3963,6 @@ setfloating(Client *c, int floating) { if (!c || !c->mon || !client_surface(c)->mapped || c->iskilling) return; - if (c->isoverlay) { - wlr_scene_node_reparent(&c->scene->node, layers[LyrOverlay]); - } else if (client_should_overtop(c) && c->isfloating) { - wlr_scene_node_reparent(&c->scene->node, layers[LyrFSorOverTop]); - } else { - wlr_scene_node_reparent(&c->scene->node, - layers[c->isfloating ? LyrFloat : LyrTile]); - } - target_box = c->geom; if (floating == 1 && c != grabc) { @@ -4024,6 +4015,15 @@ setfloating(Client *c, int floating) { } } + if (c->isoverlay) { + wlr_scene_node_reparent(&c->scene->node, layers[LyrOverlay]); + } else if (client_should_overtop(c) && c->isfloating) { + wlr_scene_node_reparent(&c->scene->node, layers[LyrFSorOverTop]); + } else { + wlr_scene_node_reparent(&c->scene->node, + layers[c->isfloating ? LyrFloat : LyrTile]); + } + arrange(c->mon, false); setborder_color(c); printstatus();