beansprout-custom/README.md
Ben Buhse 296f875993
Implement libinput device configuration
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
2026-02-10 20:06:17 -06:00

35 lines
1.4 KiB
Markdown

<!--
SPDX-FileCopyrightText: 2025 Ben Buhse <me@benbuhse.email>
SPDX-License-Identifier: GPL-3.0-or-later
-->
# beansprout wm
## TODOs
These are in rough order of my priority, though no promises I do them in this order.
- [ ] Support `None` modifier 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-cursor` granularity (`normal` vs `always`)
- [ ] Support solid `background-color` fallback (no wallpaper)
- [x] Support changeable primary ratio
- [x] Support changeable primary count
- [x] Support multiple outputs
- [x] Support floating windows
- [x] Support wallpapers
- [x] Make "orelse return" bits into errors; handle gracefully
- [x] 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