hsroots, the Haskell bindings to wlroots
If you haven't seen it, wlroots is the compositor library created by the same people who built sway to implement a few things that weren't possible with wlc.
What is this:
- Basic (low! level) bindings to wlroots functionality
- (Re)implementation of basic examples. This is mostly to test
- cabal project to track updated dependencies (I had to expose a bit of functionality, this isn't upstreamed yet).
What this is (mostly) not [help wanted]:
- Complete
- well documented
- Abstracting
This one is semi-intentional. This library is intended to expose pointers as they are, so it can be used with other middlewares etc.
- In a good functional style
Why does this exist?
I mainly created this to support my own endavours. This implies that I will somewhat selectivly add to this as I need it in any project based on this.
Should you be interested in using this and feel like there's a feature missing, I will always appreciate PRs, and will aim to implemented feature requests in a timely manner.
Build instructions
- Install
wlrootswith the instructions provided in their Readme git clone --recursive https://github.com/swaywm/hsrootscd hsrootscabal new-build
This should download all dependencies needed for hsroots and build it together with the examples provided in this repository.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
