Now, I actually save the river-layer-shell-v1 and keep track of the non-exclusive area. The layout calculation uses the usable area instead of the entire output's geometry. I removed boundary clamping for the floating windows because it was a bit janky when hitting the edges. I'll probably add it back at some point. I also made windows default to 75% of the usable area instead of keeping their tiled size so that maximized windows look decent when floating for the first time. Finally, since I removed the clamping, I added a center_float keybind to center a floating window. If you're cycling through focused windows and one isn't on the screen, you can use the center_float bind to get the window visible again. Replaced all divTrunc with divFloor to be consistent. I think they should all be positive, anyways, so they'd be the same, but I like just having one.
1.3 KiB
1.3 KiB
TODOs
These are in rough order of my priority, though no promises I do them in this order.
- Implement a river-tag-overlay clone
- Implement an optional clock 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-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
- 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