aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Hubbard <keith@boxfan.org>2021-08-05 21:40:30 -0400
committerIsaac Freund <ifreund@ifreund.xyz>2021-08-07 10:18:52 +0000
commit556d7906940e68f74e970dbf8eac3aa0f1aea87a (patch)
treec5a3930f495d02e9f779f51249fc259331869386
parent2fc0875a3e17a0328d14d0c6323bd8022d5b15de (diff)
downloadriver-556d7906940e68f74e970dbf8eac3aa0f1aea87a.tar.gz
river-556d7906940e68f74e970dbf8eac3aa0f1aea87a.tar.xz
render: draw borders before rendering views
Menus, tooltips, etc. can extend beyond a view's borders. Render views after their borders so floating content appears on top. Unfocused floating content can still be obscured by views higher in the stack and the focused view.
-rw-r--r--river/render.zig8
1 files changed, 4 insertions, 4 deletions
diff --git a/river/render.zig b/river/render.zig
index 8bbdac7..9c0bd52 100644
--- a/river/render.zig
+++ b/river/render.zig
@@ -93,32 +93,32 @@ pub fn renderOutput(output: *Output) void {
it = ViewStack(View).iter(output.views.last, .reverse, output.current.tags, renderFilter);
while (it.next()) |view| {
if (view.current.focus != 0 or view.current.float) continue;
- renderView(output, view, &now);
if (view.draw_borders) renderBorders(output, view, &now);
+ renderView(output, view, &now);
}
// focused, non-floating views
it = ViewStack(View).iter(output.views.last, .reverse, output.current.tags, renderFilter);
while (it.next()) |view| {
if (view.current.focus == 0 or view.current.float) continue;
- renderView(output, view, &now);
if (view.draw_borders) renderBorders(output, view, &now);
+ renderView(output, view, &now);
}
// non-focused, floating views
it = ViewStack(View).iter(output.views.last, .reverse, output.current.tags, renderFilter);
while (it.next()) |view| {
if (view.current.focus != 0 or !view.current.float) continue;
- renderView(output, view, &now);
if (view.draw_borders) renderBorders(output, view, &now);
+ renderView(output, view, &now);
}
// focused, floating views
it = ViewStack(View).iter(output.views.last, .reverse, output.current.tags, renderFilter);
while (it.next()) |view| {
if (view.current.focus == 0 or !view.current.float) continue;
- renderView(output, view, &now);
if (view.draw_borders) renderBorders(output, view, &now);
+ renderView(output, view, &now);
}
if (build_options.xwayland) renderXwaylandUnmanaged(output, &now);