We need to defer config application to the first manage_start event using a should_manage flag so that all *_support events have arrived before we try applying the configs This commit also has two other fixes - fixes a potential use-after-free by telling InputDevice when a LibinputDevice is .removed. - fix logFn (removed "if (scope != .default) return;") I used kwm to help figure out the manage pattern for the input config. Link to kwm: https://github.com/kewuaa/kwm
1.4 KiB
1.4 KiB
beansprout wm
TODOs
These are in rough order of my priority, though no promises I do them in this order.
- Support
Nonemodifier for keybinds (needed for media/brightness keys) - Support per-host config using properties (maybe also per-output?)
- Add input configuration, i.e. pointer acceleration and that type of thing
- Support a basic bar
- Support starting programs at WM launch
- Support overriding config location
- Add support for multimedia/brightness keys (this might not be neccesary)
- Support window rules (float/tags/SSD by app-id/title)
- Support switch handling (e.g. lid close)
- Support multiple seats
- Support clipping floating windows on edge of/between outputs
- Support keybind modes (e.g. passthrough)
- Support
focus-follows-cursorgranularity (normalvsalways) - Support solid
background-colorfallback (no wallpaper) - 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
- Switch all structs to idiomatic Zig init/deinit pattern (init returns value, caller decides stack/heap)
- I'm not sure I really need this