Hey all, I've been writing a Wayland compositor using the Louvre library in the Nim programming language for the past few days. I named it Gogh. Here is it in action.
https://preview.redd.it/1ttb3rs0ll8e1.png?width=1907&format=png&auto=webp&s=9fed0e91129ea6374b9e80fd26117f9215b2fbd8
I'm planning to get the workspaces logic and keybinds working and then I'll do the first release. The goals of Gogh are:
- Be reasonably fast and efficient
- Only have one window per workspace (sub-windows don't count)
- Have a readable codebase, as far as humanly possible
- Don't require a C++ compiler as an optional runtime dependency (wink wink, a very famous Wayland compositor that I currently daily drive)
Gogh can be configured using YAML. I haven't exposed a lot of configuration options yet, but here's my current config:
.. code-block:yaml
startup:
exec:
displays:
force_vsync: false
Getting fancy visual effects like blurring and animations is a distant goal as well. If any of you wish to look at the code or contribute, here's the repository. I'd love some suggestions as well, which I may or may not implement:
https://github.com/xTrayambak/gogh