HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
riverwm
river
Zig2021–2025
riverwm / river

river

[mirror] A non-monolithic Wayland compositor

13Distinct people
16Mentions
0Explicit recommenders
4.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

[mirror] A non-monolithic Wayland compositor

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year16 dated mentions

Observed mentions: 2021-01-26 17:54:29 UTC to 2025-05-26 14:10:16 UTC.

024682021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 8 mentions; 1 submissions, 7 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC817
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC413
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

What Hacker News says

16 sources
> I think if I was to do a Waylabd compositor, a first step would be to put things like window management beyond an IPC boundary, just like with X. Afaik river does something in that direction https://github.com/riverwm/river > Dynamic layouts generated by external, user-written executables. A default rivertile layout generator is provided. > Scriptable configuration and control through a custom Wayland protocol and separate riverctl binary implementing it.
In RubyWM – an X11 window manager in pure Ruby
The most relevant uses of Zig that come to mind are: - Bun, as you mentioned - https://tigerbeetle.com/ - https://www.uber.com/en-IT/blog/bootstrapping-ubers-infrastr... Plus a bunch of other companies (including some very big ones) and projects that use Zig here and there, eg AWS uses cargo-zigbuild https://github.com/awslabs/aws-lambda-rust-runtime/blob/e2d5... Zig also has a few other very promising OSS projects: - https://github.com/riverwm/river (wayland compositor) - https://github.com/ZigEmbeddedGroup/microzig (HAL for embedded development) - https://machengine.org/ (truly cross-platform gamedev) - https://github.com/michal-z/zig-gamedev (another serious gamedev toolkit) Just off the top of my mind. Like for all things, you gotta get started somewhere and this is where we are at the moment.
In Ask HN: Why is Zig gaining so much popularity lately?
FYI the Zig compiler that people are still using today is the C++ one. The self-hosted compiler hasn't been released yet. There's some Zig code running today in the C++ compiler, but hasn't been there for the full life of the project and isn't the main source of bugs by far. To this day I think the top 3 popular Zig projects are Bun, as you mentioned, then River [1] and TigerBeetle [2]. [1] https://github.com/riverwm/river [2] https://github.com/tigerbeetledb/tigerbeetle Up to you to decide how fine is the situation in those projects.
In Game Jam 2 Results
No, the biggest feature of DWM is dynamic window tiling (pretty sure DWM stands for Dynamic Window Manager). Sway/i3 can be made to kinda dynamically tile with scripts, but it's much less consistent, less powerful, and hardly works. They are manual tilers and they don't try to be dynamic tilers. Personally I prefer being able to quickly toggle a dynamic window layout based on my current workflow, and switch back to manual tiling when I specifically need to manually tile. Currently I use Sway too as it's the most mature tiling compositor on Wayland, but once River WM[0], also based on wlroots, matures more I think I will likely make the switch because I often miss dynamic tiling. [0] https://github.com/riverwm/river On a side note, I hate how window moving works in Sway/i3. I can hardly ever get windows to move to where I want them to go w
Read the rest
ith keyboard. As a result, I have a bind that enters a 'move' mode that takes the current selected window and moves it to a window that I can select. That, or I just use the mouse to drag the window, which is kinda annoying considering this is a keeb focussed environment.
In dwm
And I see no purpose in switching to Wayland as long as Xorg keeps working just fine. > If you liked bspwm then you might want to try this: https://github.com/riverwm/river If I wanted to spend time redoing my configuration, maybe, but I have better things to spend my time on. So in however many years it takes before getting Xorg running starts taking more effort than switching. I'm not expecting that to happen anytime soon.
In How X Window Managers Work, and How to Write One (2014)
This particular example is machine-generated code created by translate-c, it's meant to be semantically equivalent to the C code and even uses language features that you're normally not even supposed to use (c pointers). Reasonable Zig code looks more like this: https://github.com/riverwm/river/blob/master/riverctl/main.z... That said I think it's fine if you don't like the syntax. I think that some complaints are honestly too superficial to be legitimate (like complaining about builtins being prefixed with @), but at the same time Zig is often times prioritizing explicitness over "good looking". I personally consider Swift a very good looking language, but then I look at all the new features that got added since I used it last, remember that I value simplicity over aesthetics, and go back to Zig.
In Using Zig's translate-C to understand weird C code
Since various people are asking about xmonad-like tiling in wayland: I wrote Vivarium[0] specifically to be a wayland compositor that behaves exactly like my (fairly simple) xmonad config, but it's a relatively new/unstable compositor and nothing like xmonad internally. River[1] has a fantastic tiling model via user-provided executables, which makes it very flexible and probably a good fit for many people wanting something xmonad-like. Waymonad[2] exists as a direct xmonad-like compositor, but I think development has been basically stalled for a long time. Sometimes there's discussion about reviving it though (edit: see https://news.ycombinator.com/item?id=28796909 for more up to date detail). Japokwm[3] is another compositor with xmonad user roots, but again its own tiling model. [0] https://github.com/inclement/vivarium [1] https://gith
Read the rest
In XMonad – The Automated Tiling WM

Showing the 15 most recent of 16 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.