a very broken and WIP wayland compositor
  • C 95.8%
  • Meson 4.2%
Find a file
2025-04-25 10:18:23 -04:00
src format stuff, fix warnings, and kill layer shell for now 2025-04-25 10:18:23 -04:00
.clang-format format stuff, fix warnings, and kill layer shell for now 2025-04-25 10:18:23 -04:00
.gitignore start pointer constraint work, fix some bugs 2025-04-21 09:15:33 -04:00
image.png implement idle inhibit, other hands off wlroots things, and more xwayland 2025-03-26 10:19:13 -04:00
LICENSE start pointer constraint work, fix some bugs 2025-04-21 09:15:33 -04:00
meson.build format stuff, fix warnings, and kill layer shell for now 2025-04-25 10:18:23 -04:00
README.md format stuff, fix warnings, and kill layer shell for now 2025-04-25 10:18:23 -04:00

salamander

a very broken and WIP wayland compositor

todo list

  • pointer constraints / locking
    • i dont think this works
  • implement fullscreen
  • layer shell
    • layering doesn't work properly
    • the trees should be stacked, see dwl reference
    • the surfaces also don't show up, though maybe thats an issue with the stacking?
  • xwayland
    • minecraft input doesn't work under xwayland or with patched libglfw
    • implement xwayland shell protocol (this isn't supported in wlroots yet, so we'd have to implement it ourselves)
    • implement xwayland keyboard grabbing (again, see above)
    • figure out how to handle some of the configure events?
  • tiling
    • this seems to be arranging surfaces within the trees associated with each layer. hyprland has some logic that handles this and we should really do something similar to that
    • make sure new windows get tiled under the cursor if possible
    • implement stacked windows (this is when the windows have tabs, don't show titles unless stacked in this way)
    • if window is terminal and opens another window, stack, else place like hyprland
    • allow windows to be moved like sway
  • implement other wayland protcols
    • tablet protocol
    • xdg output management
    • xdg activation
    • toplevel icon + actual SSDs (like sway defaults)
    • content type hint
    • foreign toplevel list
    • image capture source
    • image copy capture
    • tearing control
    • linux dmabuf
    • wlr output power management
    • some other ones implemented by sway/hyprland