Convert Bar to use river-shell-surface

I want to implement more functionality to the bar, similar to what
machi has in its bar, but it seems a lot easier to just handle the bar
with the rest of the manage/render loop that rwm and beansprout use.

To do that, I had to convert the bar to use river-shell-surface instead
of zwlr-layer-shell.

In that process, I also removed support for zwlr-layer-shell exclusive
zones. It made calculating the usable area for the layout more annoying.
If someone *really* wants, I would consider adding it back, but the only
thing I can think of that requires exclusive area is a bar, and we don't
really support other bars, so I don't think it's needed.

I also switched a couple of places to use saturating subtraction on
unsigned ints.
This commit is contained in:
Ben Buhse 2026-02-26 16:34:48 -06:00
commit a9473204ad
No known key found for this signature in database
GPG key ID: 7916ACFCD38FD0B4
6 changed files with 159 additions and 153 deletions

View file

@ -2,10 +2,11 @@
These are in rough order of my priority, though no promises I do them in this order.
- [ ] Support switch handling (e.g. lid close)
- [ ] Add build-time options for including the wallpaper (and maybe bar)
- [ ] Check pointer position and only warp if not on focused window already
- [ ] Change focus direction when closing window
- [ ] Use set_xcursor_theme request
- [ ] Support configuring bar item positions (left/center/right)
- [ ] Add focused window title to bar
- [ ] Support overriding config location
- [ ] Add support for center-primary layout
@ -25,6 +26,7 @@ These are in rough order of my priority, though no promises I do them in this or
- [ ] Support configurable prepend/append on send-to-output
- [ ] Support taking new output's tags on send-to-output
- [ ] Add `spawn_tagmask`, `focus_previous_tags`, `send_to_previous_tags` commands
- [ ] Support switch handling (e.g. lid close)
- [x] Support changeable primary ratio
- [x] Support changeable primary count
- [x] Support multiple outputs