No description
Find a file
Ben Buhse e186a2d017
Implement wallpaper rendering with multi-output support
This actually renders a wallpaper for each output using the newly added
Buffer and BufferPool for shared-memory surfaces and creates a
wlr-layer-shell surface per output. Right now, each wallpaper
shares the same wallpaper (though scaled to each).

wl_output globals get added to a HashMap that is used by Output when it
gets an output event.

Fix null-safety in WindowManager when no seats/outputs exist and route
Window dimensions through pending_manage.
2026-02-07 17:27:24 -06:00
examples Implement floating windows with pointer and keyboard controls 2026-02-06 14:36:12 -06:00
LICENSES Display a single window! 2025-08-03 09:31:27 -05:00
protocol Begin work to add wallpaper support to beansprout 2026-02-06 16:37:33 -06:00
src Implement wallpaper rendering with multi-output support 2026-02-07 17:27:24 -06:00
.gitignore initial commit 2025-05-03 21:07:26 -05:00
build.zig Implement wallpaper rendering with multi-output support 2026-02-07 17:27:24 -06:00
build.zig.zon Begin work to add wallpaper support to beansprout 2026-02-06 16:37:33 -06:00
README.md Implement wallpaper rendering with multi-output support 2026-02-07 17:27:24 -06:00

beansprout wm

TODOs

These are in rough order of my priority, though no promises I do them in this order.

  • Switch all structs to idiomatic Zig init/deinit pattern (init returns value, caller decides stack/heap)
  • Support per-host config using properties
  • Support wallpapers
  • Support a bar
  • Support starting programs at WM launch
  • Support overriding config location
  • Add support for multimedia/brightness keys
  • Make "orelse return" bits into errors; handle gracefully
  • 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