river: render floating views above the layout

This commit is contained in:
Isaac Freund
2023-03-02 15:10:10 +01:00
parent ecb959f068
commit 686ef11fc8
2 changed files with 20 additions and 5 deletions

View File

@ -607,13 +607,25 @@ fn commitTransaction(root: *Self) void {
view.inflight_serial = null;
if (view.current.output != output or
if (view.current.output != view.inflight.output or
(output.current.fullscreen == view and output.inflight.fullscreen != view))
{
view.tree.node.reparent(output.layers.views);
if (view.inflight.float) {
view.tree.node.reparent(output.layers.float);
} else {
view.tree.node.reparent(output.layers.layout);
}
view.popup_tree.node.reparent(output.layers.popups);
}
if (view.current.float != view.inflight.float) {
if (view.inflight.float) {
view.tree.node.reparent(output.layers.float);
} else {
view.tree.node.reparent(output.layers.layout);
}
}
view.updateCurrent();
const enabled = view.current.tags & output.current.tags != 0;