beansprout-custom/docs/TODO.md
Ben Buhse 6136f9d3f8
Don't propose dimensions for windows floating for the first time
Before, we were using the same behavior as when we made any window
floating, which meant we'd set the window to 75% of the output's
dimensions. The issue is that, at least in my case, I usually want a
floating rule for windows that are small and have specific pre-set
sizes, so that didn't make sense. Now, if a window was made floating by
a rule, it should just start with its default dimensions but it can still
be resized later.
2026-03-31 17:06:08 -05:00

2.9 KiB

TODOs

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

  • Add a config for how to focus when a window opens with a rule on another tag; should we switch tags, add tags, or just ignore it?
  • Support per-output single window ratio (in config; this already works at runtime)
  • Support per-output wallpapers
  • Fix mouse resizing
  • Add gap support
  • Support window tag/order caching between WM restarts (within a river session)
  • 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 overriding config location
  • Add support for center-primary layout
  • 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 focus-follows-cursor granularity (normal vs always)
  • Save window positions between restarts
  • Support multiple seats
  • Support clipping floating windows on edge of/between outputs
  • 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)
  • 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%
  • Move orphan handling out of .output and .seat events; into manage()
  • Add config for single-window width ratio (mostly because my ultrawide makes a single window massive)
  • Support configuring primary vs secondary stack side
  • Add focused window title to bar
  • Add bar padding to config
  • Support 12-hour clock format (maybe take any time format string?)
  • Support configuring bar item positions (left/center/right)
  • Skip proposing dimensions for floating windows altogether?