Fix issue where the bar is rendered over fullscreen windows

This commit is contained in:
Ben Buhse 2026-03-03 19:55:01 -06:00
commit 167141ef15
No known key found for this signature in database
GPG key ID: 7916ACFCD38FD0B4

View file

@ -61,6 +61,9 @@ pub const PendingRender = struct {
focused: ?bool = null,
show: ?bool = null,
// This could probably be a tagged union and just take *where* to place it (for above/below)
place_top: bool = false,
};
pub const DimensionsHint = struct {
@ -328,6 +331,8 @@ pub fn manage(window: *Window) void {
const output = window.output orelse break :blk;
window.river_window_v1.fullscreen(output.river_output_v1);
window.river_window_v1.informFullscreen();
// We need to do this so the window appears on top of the bar
window.pending_render.place_top = true;
} else {
window.river_window_v1.exitFullscreen();
window.river_window_v1.informNotFullscreen();
@ -384,6 +389,10 @@ pub fn render(window: *Window) void {
window.river_window_v1.hide();
}
}
if (window.pending_render.place_top) {
window.river_node_v1.placeTop();
}
}
fn applyBorders(window: *Window, color: utils.RiverColor) void {