2bwm
hello-wayland
2bwm | hello-wayland | |
---|---|---|
6 | 4 | |
782 | 133 | |
- | - | |
5.8 | 5.0 | |
5 days ago | 2 months ago | |
C | C | |
- | MIT License |
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.
2bwm
- I like using bspwm, it's snappier and more responsive than other window managers
-
ESPNCricinfo (the leading website for all things cricket) deploys some of the most trackers for tracking your activity across websites. [Also posted in Daily Discussion in case the mods feel it is not completely relevant here].
Distro is Arch Linux and WM is 2bwm
- What is the most customizable yet easy to configure stacking (floating) window manager?
-
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
-
[2bwm] 爪ㄩㄒ丨几ㄚ
wm: 2bwm
-
[OC] Most used WM's in this subreddit out of 1000 posts.
It's a pity 2bwm does not get the love :) https://github.com/venam/2bwm
hello-wayland
-
Image in C
I first saw the trick at https://github.com/emersion/hello-wayland
-
How does a Wayland compositor and client communicate?
hello-wayland and tinywl are simple wayland client and server respectively. Also wayland-book
-
How X Window Managers Work, and How to Write One
You think this is bad? Just look at a native Wayland "Hello World" client [1]. This doesn't even print hello world. You have to do the text rendering yourself. And you need at least 500 more lines to implement the equivalent to a simple XGetImage() call.
1.: https://github.com/emersion/hello-wayland/blob/master/main.c
- How to link Wayland header files in C?
What are some alternatives?
berry - :strawberry: A healthy, byte-sized window manager
hello_imgui - Hello, Dear ImGui: unleash your creativity in app development and prototyping
sowm - An itsy bitsy floating window manager (220~ sloc!).
arcan - Arcan - [Display Server, Multimedia Framework, Game Engine] -> "Desktop Engine"
FrankenWM - 🖼️ Fast dynamic tiling X11 window manager
bspwm - A tiling window manager based on binary space partitioning
spectrwm - A small dynamic tiling window manager for X11.
mako - A lightweight Wayland notification daemon
unclutter-xfixes - Hides the cursor on inactivity (rewrite of unclutter)
oguri - A very nice animated wallpaper daemon for Wayland compositors
herbstluftwm - A manual tiling window manager for X11