Con *parent = con->parent;
/* Force re-rendering to make the indicator border visible. */
- FREE(con->deco_render_params);
- FREE(parent->deco_render_params);
+ con_force_split_parents_redraw(con);
/* if we are in a container whose parent contains only one
* child (its split functionality is unused so far), we just change the
if (!next)
return false;
+ /* Raise the floating window on top of other windows preserving
+ * relative stack order */
+ while (TAILQ_LAST(&(parent->floating_head), floating_head) != next) {
+ Con *last = TAILQ_LAST(&(parent->floating_head), floating_head);
+ TAILQ_REMOVE(&(parent->floating_head), last, floating_windows);
+ TAILQ_INSERT_HEAD(&(parent->floating_head), last, floating_windows);
+ }
+
con_focus(con_descend_focused(next));
return true;
}