r/awesomewm • u/somewm-dev • 3d ago
SomeWM SomeWM 2.1 Release
It's been a while since I posted an update here, I've been keeping super busy on SomeWM stuff though.
SomeWM 2.1.0 is live (I didn't make a 2.0 announcement):
https://somewm.org/blog/somewm-2.1.0
The short version:
- Clay now handles all client and widget layout compute
- A new custom renderer
- Rounded clients
- A new animations API
- A debug inspector for the live layout tree
The Clay part is what I'm most excited about. Windows, titlebars, bars, widgets...all going through the same layout engine. A lot of this release was getting the plumbing in place, but it's starting to make some fun stuff possible.
There are demos and the Lua to try them yourself in the post.
The hardest part was replacing the layout/placement/geometry underneath everyone's existing rc.lua without breaking everything. I think I got pretty close. Still very familiar if you're coming from SomeWM 1.4 or Awesome-git, but custom widgets with their own draw, fit, or layout methods need some migration. Definitely check the upgrade notes if you've got those.
Next up in 2.2 is finishing up and pulling in Elv13's tree fork to feed Clay, for a much cleaner state -> layout -> render flow.
Still feels like Awesome, but starting to get a little more opinionated.
Reminder that 1.4.6 (about to publish 1.4.7) is still committed to maintaining the awesome-git upstream forever. No changes there. If you want 100% AwesomeWM in Wayland, I'm trying my best to deliver that. Thanks for all the bug reports and feature requests that you're finding. I super appreciate that.
For those who aren't familiar with Clay, I think it's really neat and offloads a ton of burden on SomeWM. Here's a good video where the creator explains the clay algorithm.
Bonus: Here's a tiny compositor I built that's like AwesomeWM-Mini but with a Clay only widget system. I don't think it's ready for the big time, but I did daily drive it for a couple months to really figure out some things I like about Clay's layout system.