diff options
| author | Keith Hubbard <keith@boxfan.org> | 2021-08-05 21:40:30 -0400 |
|---|---|---|
| committer | Isaac Freund <ifreund@ifreund.xyz> | 2021-08-07 10:18:52 +0000 |
| commit | 556d7906940e68f74e970dbf8eac3aa0f1aea87a (patch) | |
| tree | c5a3930f495d02e9f779f51249fc259331869386 | |
| parent | 2fc0875a3e17a0328d14d0c6323bd8022d5b15de (diff) | |
| download | river-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.zig | 8 |
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); |
