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.
1.6 KiB
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-colorfallback (no wallpaper) - Support per-output wallpapers
- Support
focus-follows-cursorgranularity (normalvsalways) - 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
Nonemodifier 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%