No description
Find a file
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
examples Add input configuration to Config 2026-02-09 16:45:55 -06:00
LICENSES Implement some simple flags and runtime log-levels 2026-02-08 16:25:30 -06:00
protocol Implement river-input-management-v1 and river-libinput-config-v1 2026-02-09 12:55:47 -06:00
src Implement libinput device configuration 2026-02-10 20:06:17 -06:00
.gitignore initial commit 2025-05-03 21:07:26 -05:00
build.zig Implement river-input-management-v1 and river-libinput-config-v1 2026-02-09 12:55:47 -06:00
build.zig.zon Update zig-kdl 2026-02-09 16:46:12 -06:00
README.md Implement libinput device configuration 2026-02-10 20:06:17 -06:00

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)
  • 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