Taiwins is a modern and modular wayland compositor, and it is extensible through lua script. It has a builtin shell and GUI system called twidgets . Writing a minimum wayland client using twidgets would take only 20 lines of code.

Taiwins is the tiling as well as a floating window manager, you can allocate windows on your desktop logically or based on your needs, drag your windows freely .


  • fast and small codebase.

  • extensible and easy config through lua.

  • builtin shell.

  • wayland client system.

  • configurable theme.

  • multi key-presses bindings like emacs.

  • dbus support.

  • and more.

Dev Blogs

  • Writing a wayland compositor using libtaiwins, Part III on 08 June

    Hello again, the third part of libtaiwins tutorial, following the part II . In this tutorial, we will finish our desktop surface creation creation, with the last part, input grab .

  • Writing a wayland compositor using libtaiwins, Part II on 17 May

    In our previous tutorial , we created tw_backend , tw_render_context and tw_engine . The 3 major building blocks for creating a wayland compositor. Now, we will start working on the window mangement part of the compositor.

  • Taiwins 0.3.1 release on 17 May

    The version 0.3.1 is a bugfix release:

  • Writing a wayland compositor using libtaiwins, Part I on 29 April

    Hi, if you are reading this, I assume you are interested in the window system on your computer. In the wayland world, it is called compositor. I found it is a bit misleading since this system does way much more than just compositing. But anyway, this series of tutorial will teach you how to write one using wayland using libtaiwins. It may sound complicated, but bear that in mind , in the beginning of 2020 when I started creating libtaiwins, I probably didn’t know more than you how to do it either.

  • Taiwins 0.3 release on 29 April

    I am glad to announce that Taiwins 0.3 is released today. It has been a year since Taiwins 0.1 release, we have migrated from libweston and wlroots. today, Taiwins has implemented enough compositor features it has became my main compositor. The biggest change in the version is the libtaiwins library is finally ready for a daily use.