I'm still on AwesomeWM for now because I have no real reason to incur the pain of switching, but still curious to know what path others are taking.
I'm still on AwesomeWM for now because I have no real reason to incur the pain of switching, but still curious to know what path others are taking.
Vicious is getting quite old. We put tons of effort in AwesomeWM to be perfectly backward compatible all the way back to the 3.5.0 API (ok, 4.0 had documented breaking changes, but still had compat code to minimize the porting work), like bug-compatible level using a **ton of `if` in the code. I really can't blame any effort to implement wayland to nuke that compat code mess when it blocks them. The older Vicious most people use is also using blocking code in the main thread, it it locks the entire WM when its calling a shell command. AwesomeWM had async APIs for that kind of stuff for a decade now. IMHO, using some LLM call to port the widget to use the declarative widget API, which AFAIK SomeWM supports, is probably worth it for performance alone, even if you keep using AwesomeWM.
Thanks for all your work on AwesomeWM - whether I keep using it or not it has been a great experience!
Technically, it is a goal, though perhaps an optimistic one.
I won't support vicious widgets in the 2.x releases, but I should definitely add support for it in the release/1.4 branch that follows AwesomeWM master/4.4. Not that I think vicious widgets are the best, but technically if it runs on AwesomeWM, I should support it in 1.4.
I created an issue (https://github.com/trip-zip/somewm/issues/599), even if you decide not to use SomeWM. Thanks for trying it out.
If anything it reminds me more of the experience with using awesome v2(before lua); you generate a config file for the base WM, and then build up external tooling to drive it how you see fit. The experience has been quite pleasant, but I do enjoy twiddling.
¹ https://codeberg.org/river/river
Edit: I just checked my dotfiles. Awesome went in on 2008-06-09, and river on 2024-06-30. Happy and largely uneventful two years on river.
I'll give it a look - thanks!
For example, it has pluggable layouts where instead of pulling in a lua module(such as awful.layout) in awesome you'll run an external process which handles events. You can even run multiple managers and switch between them with bindings, or write a custom one to scratch that itch. If you're happy with just awful's .suit.tile.right and .suit.max then basically any backend will do.
This is why it feels like a reasonable path off awesomewm to me. I always considered awesomewm to be the WMConstructionKit, and while river changes how you interact there is still a nice route to extensibility. The newer direction even more so than the -classic offshoot.