beansprout-custom/docs/TODO.md
Ben Buhse 040ccc14f3
Implement configurable component locations in bar
This allows the user to configure which component (title, wm_info, clock)
is rendered to which part of the bar (left, right, center).

You can also use `none` to hide the location.
2026-02-27 11:41:46 -06:00

2.7 KiB

TODOs

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

  • Support window tag/order caching between WM restarts (within a river session)
  • Add gap support
  • 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 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)
  • 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)