<div dir="ltr"><div>Hi all, <br></div><div><br></div><div>A long while ago [1]. I introduced the Taiwins wayland compositor. It was built upon libweston. It turned out despite my attempts, I couldn't get my patches to merge in libweston. Libweston has quite a few bugs and missing features to fit the role of a daily driver. <br></div><div><br></div><div>These past few months, Taiwins was going through a long refactoring process in migrating from libweston. Today, taiwins uses a very thin layer of wlroots for hardware abstraction, the next release will target on removing the reliance of wlroots as well. Today it has the features of:</div><div><br></div><div>- dynamic window management.</div><div>- extensible and easy configuration through lua.</div><div>- very efficient GL renderer, updates only the damages.<br></div><div>- a widget system and you can create widgets through lua as well.</div><div>- built-in shell and application launcher.</div><div>- configurable theme.</div><div>- emacs-like key sequence based binding system.</div><div>- built-in profiler and rendering debugger.<br></div><div><br></div><div> Along the way, I developed Twobjects [2], a backend agnostic wayland object implementation for compositors. This library implements basic wayland protocols as well as various other wayland
protocols like 'xdg-shell' and many more. Using twobjects, you can focus on building your own unique features for the compositor and let it handle the most tedious protocol implementations.It doesn't expose everything as `wl_signals` like wlroots does, so you don't need to write additional glue code for it.<br></div><div><br></div><div>Taiwins is still in development but missing features are getting less and less, you can check out its website <a href="https://taiwins.org">https://taiwins.org</a> or if you would like to help, check out the project page <a href="https://github.com/taiwins/taiwins">https://github.com/taiwins/taiwins</a> for getting started.<br></div><div><br></div><div>Thanks,</div><div>Xichen<br></div><div><br></div><div>[1] <a href="https://lists.freedesktop.org/archives/wayland-devel/2020-May/041458.html">https://lists.freedesktop.org/archives/wayland-devel/2020-May/041458.html</a></div><div>[2] <a href="https://github.com/taiwins/twobjects">https://github.com/taiwins/twobjects</a></div></div>