swm
bspwm
swm | bspwm | |
---|---|---|
1 | 92 | |
113 | 7,515 | |
- | - | |
1.8 | 1.0 | |
almost 2 years ago | 14 days ago | |
C | C | |
- | BSD 2-clause "Simplified" 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.
swm
-
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
bspwm
- can't download and decompress git repo
-
BSPWM?
Bspwm is a window manager. Configuration happens in $XDG_CONFIG_HOME/bspwm/bspwmrc, as per stated here: https://github.com/baskerville/bspwm
- Multiple screens with different resolutions?
-
What WM should I use?
Use BSPWM. It supports right clicks by default and its modular. You might want to look for status bars that work with it, slstatus does not work. Good luck, supremacist!
-
What are some OpenSource apps that are the best of their kind?
I had not heard of bspwm but I am a fan of telling WMs. Looking at the documentation now, I really like the pragmatic approach lol https://github.com/baskerville/bspwm
-
Changing layout of node
If you use the bspwm off of github instead of the old 0.9.10, you can use bspc node @parent -y next to cycle the split type of the parent of the focused. I added it ~1.5years ago, after baskerville added node -y horizontal and node -y vertical to set the split type of a node to vertical/horizontal ~2 years ago.
-
How to use dump and load state?
Also bspwm's JSON generation and parsing is not great. If you have a window with quotes in its class name, bspwm, when dumping it, will not escape them generating invalid JSON (e.g. {"className":"the "cool" window",) that jq will not be able to read, and even worse, bspwm itself will not be able to read. (Yes, if a window's class name contains a " character, bspwm will fail to reload after you run wm -r #1362).
-
How to install bspwm on ubuntu-22.04 and config it?
Just follow this guide
-
[bspwm] yine yeşillik ama biraz farklısından
Pencere yöneticisi: bspwm
What are some alternatives?
herbstluftwm - A manual tiling window manager for X11
i3 - A tiling window manager for X11
2bwm - A fast floating WM written over the XCB library and derived from mcwm.
sway - i3-compatible Wayland compositor
spectrwm - A small dynamic tiling window manager for X11.
i3-gaps - i3-gaps – i3 with more features (forked from https://github.com/i3/i3)
dwl - dwm for Wayland - ARCHIVE: development has moved to Codeberg
river - [mirror] A dynamic tiling Wayland compositor
sowm - An itsy bitsy floating window manager (220~ sloc!).
bismuth - KDE Plasma add-on, that tiles your windows automatically and lets you manage them via keyboard, similarly to i3, Sway or dwm.
mir - The Mir compositor