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.
51 lines
2.6 KiB
Markdown
51 lines
2.6 KiB
Markdown
# TODOs
|
|
|
|
These are in rough order of my priority, though no promises I do them in this order.
|
|
|
|
- [ ] 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
|
|
- [ ] Add bar padding to config
|
|
- [ ] Support 12-hour clock format (maybe take any time format string?)
|
|
- [ ] Support per-output bar visibility
|
|
- [ ] Support more window rule options (e.g. ssd/csd)
|
|
- [ ] Support solid `background-color` fallback (no wallpaper)
|
|
- [ ] Support keybind modes
|
|
- [ ] Support per-output wallpapers
|
|
- [ ] Support `focus-follows-cursor` granularity (`normal` vs `always`)
|
|
- [ ] Save window positions between restarts
|
|
- [ ] Support multiple seats
|
|
- [ ] Support clipping floating windows on edge of/between outputs
|
|
- [ ] Use per-output timerfds for tag overlay instead of a single shared one
|
|
- [ ] Support configurable focus-follows-window on send-to-output
|
|
- [ ] 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
|
|
- [x] Support floating windows
|
|
- [x] Support wallpapers
|
|
- [x] Make "orelse return" bits into errors; handle gracefully
|
|
- [x] Implement runtime log levels
|
|
- [x] Add input configuration, i.e. pointer acceleration and that type of thing
|
|
- [x] Support `None` modifier for keybinds (needed for media/brightness keys)
|
|
- [x] Support per-host config using properties
|
|
- [x] Implement primary count/ratio per tagmask
|
|
- [x] Add primary_count and primary_ratio to Config
|
|
- [x] Implement an optional clock bar
|
|
- [x] Implement a river-tag-overlay clone
|
|
- [x] Add options to the tag overlay
|
|
- [x] Add options to the bar
|
|
- [x] Make a Rect struct to combine x, y, width, and height
|
|
- [x] Support window rules (float/tags by app-id/title)
|
|
- [x] Fix resizing size when you pop a window out, basically, it start with its current size but then when you try resize it goes to 75%
|
|
- [x] Move orphan handling out of .output and .seat events; into manage()
|
|
- [x] Add config for single-window width ratio (mostly because my ultrawide makes a single window massive)
|
|
- [x] Support configuring primary vs secondary stack side
|