beansprout-custom/docs/TODO.md
Ben Buhse 76f292332b
Fix floating window initial sizes
When I added support for propose dimensions, I was foolishly just
choosing the min (or max) if only one was set. However, a lot of windows
will a set a very small min size with no max, which meant we would have
really tiny windows when first floating one. The fix was to try set to
75% but then clamp to the min/max dimensions the window gave.

After fixing that, there was still an issue where windows kept their
size after being floated. That's because there was a propose_dimensions
call happening later in Window.manage(). I'm skipping that now if a
window became floating in the same manage event.
2026-02-18 16:06:09 -06:00

1.6 KiB

TODOs

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

  • 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
  • Add options to the bar
  • Make a Rect struct to combine x, y, width, and height
  • Support window rules (float/tags by app-id/title)
  • 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%