berry
river
berry | river | |
---|---|---|
4 | 82 | |
998 | 2,942 | |
- | 1.6% | |
0.0 | 9.4 | |
4 months ago | 5 days ago | |
C | Zig | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
berry
- Berry Wm
-
Berry is a healthy, byte-sized window manager written in C for Unix systems
I downloaded the latest release as a zip file here - https://github.com/JLErvin/berry/releases
FWIW, it’s 34KB and while it’s only the source, that seems pretty small. I haven’t gone through the build process to figure out the executable though.
-
How X Window Managers Work, and How to Write One
This is a great article and I remember reading it numerous times while I was implementing my own window manager.
For someone interested in working on a really fun and rewarding hobby project a WM is a great one to look into since there are so many resources starting from really small implementations:
- https://github.com/mackstann/tinywm
- https://github.com/venam/2bwm
- https://github.com/dylanaraps/sowm
- https://github.com/dcat/swm
- https://github.com/JLErvin/berry
Which are great at introducing the concepts and allowing you to grok the required libraries.
There are also a bunch of more full featured window managers which will introduce you to more advanced topics:
- https://github.com/baskerville/bspwm
- https://github.com/herbstluftwm/herbstluftwm
- https://www.nongnu.org/ratpoison/
- https://github.com/conformal/spectrwm
Gradually as you get more familiar with the ecosystem a few questions will come up:
Should I use X11 or XCB? - I personally used XCB and didn't find it too difficult to interface with, and there are a large number of implementations which use it (2bwm, bspwm, ratpoison, etc) so you shouldn't have an issue with learning more about it. But the documentation is pretty limited. If you are just wanting to write a toy WM than X11 is perfectly fine.
X or Wayland? - If you're wanting to write your first WM as a hobby project than I would recommend X over wayland just due to the much larger amount of reference material and documentation. You will have a much easier time getting your feet wet. Ignore the comments about X dying as it doesn't really matter for a hobby project, since the whole point is to have fun.
Feel free to check out my window manager which is an example of what just reading this blog post and getting inspired can result in: https://github.com/cfrank/natwm
- Skipping class
river
-
Switching to River from Sway and a few questions
More info on the wiki https://github.com/riverwm/river/wiki
-
Is there any way to remove the Title bar from zathura on RiverWM
Here is the related github issue
-
Easy to config tiling wm
If you can get past some minor wayland related annoyances, river is pretty easy imo, you can write a config in whatever format you want, it just needs to be an executable file, the most common type is a shell script. The actual configuration happens by calling the riverctl program from the file, which from what I've heard is a similar method compared to bspwm.
-
Questions about availability of specific functionalities in swaywm (and wayland at all)
Coming from awesome you may find river more to your liking than sway.
-
Chromium / Electron on Wayland causes crash of the whole OS
River crashed everytime I closed Chromium. The developer fixed it in 5 minutes :)
-
I may have taken plugins too far...
I've written a plugin that implements the river-layout-v3 wayland protocol in Hyprland. This means you can run something like rivertile, river-luatile, rivercarro or kile as a layout provider.
-
Master and Stack setup
Author here. And yeah, as of 0.6.0 it supports master stack - I just called it stack main. I was in fact inspired by river: https://github.com/riverwm/river. River is really promising but is still in very early development. Sway on the other hand has been around for a long time and I, for now, prefer that stability.
-
Has anyone managed to get Hyprland working on void?
In my very specific case, I'd probably start by taking a look at how animations were previously implemented in river, and then I'd pay careful attention to that transform matrix at the end. I'm not super crazy about the implementation using timers to drive it (versus interpolating where the transform should be across a deadline), but I guess they were going for smoothness.
-
Hey Rustaceans! Got a question? Ask here (8/2023)!
riverwm wayland compositor
- Ideas for system compositor
What are some alternatives?
2bwm - A fast floating WM written over the XCB library and derived from mcwm.
sway - i3-compatible Wayland compositor
bspwm - A tiling window manager based on binary space partitioning
Hyprland - Hyprland is a highly customizable dynamic tiling Wayland compositor that doesn't sacrifice on its looks.
alttab - The task switcher for minimalistic window managers or standalone X11 session
wayfire - A modular and extensible wayland compositor
herbstluftwm - A manual tiling window manager for X11
dwl - dwm for Wayland - ARCHIVE: development has moved to Codeberg
dwm - Personal built of Dynamic Window Manager from suckless.org
hello-wayland - A hello world Wayland client (mirror)
qtile - :cookie: A full-featured, hackable tiling window manager written and configured in Python (X11 + Wayland)