beansprout-custom/docs/TODO.md
Ben Buhse dbf32e793c
Finish wiring up the TagOverlay
We had to fix a couple of compile errors that weren't showing while it
wasn't wired up (since I never just tried to compile TagOverlay.zig on
its own). We also changed the lifecycle to re-create/destroy the surface
to show/hide it, similar to the way that river-tag-overlay actually did
it.

Finally, I added @branchHint(.cold) to a few places in the event loop
where, if we're in the branch, the wm is definitely exiting, so it's
fine if they're cold (should almost never happen).
2026-02-16 11:33:48 -06:00

1.5 KiB

TODOs

These are in rough order of my priority, though no promises I do them in this order.

  • Add options to the bar
  • Make a Rect struct to combine x, y, width, and height
  • Support window rules (float/tags/SSD by app-id/title)
  • Support overriding config location
  • Support configuring primary vs secondary stack side
  • Support switch handling (e.g. lid close)
  • Support keybind modes (e.g. passthrough)
  • Support solid background-color fallback (no wallpaper)
  • 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 changeable primary ratio
  • Support changeable primary count
  • Support multiple outputs
  • Support floating windows
  • Support wallpapers
  • Make "orelse return" bits into errors; handle gracefully
  • Implement runtime log levels
  • Add input configuration, i.e. pointer acceleration and that type of thing
  • Support None modifier for keybinds (needed for media/brightness keys)
  • Support per-host config using properties
  • Implement primary count/ratio per tagmask
  • Add primary_count and primary_ratio to Config
  • Implement an optional clock bar
  • Implement a river-tag-overlay clone
  • Add options to the tag overlay