A Wayland window-stacking compositor https://labwc.github.io
Find a file
2019-11-19 21:00:26 +00:00
.gitignore Remove unused variables 2019-05-11 21:47:48 +01:00
labwc.h Add header file 2019-11-19 21:00:26 +00:00
LICENSE Initial commit 2019-05-11 21:21:58 +01:00
Makefile Import tinywl.c 2019-05-11 21:26:59 +01:00
README.md Add README.md 2019-05-12 21:44:41 +01:00
tinywl.c Add header file 2019-11-19 21:00:26 +00:00

labwc

labwc is a wayland compositor based on wlroots

So far, it's simply a few commits on top of tinywl.c - the minimalistic compositor which comes with wlroots. We're not even at proof of concept stage yet, and who knows, we might never get much further.

Dependencies

  • wlroots v0.6.0
  • wayland-protocols

Keyboard shortcuts

Alt+Escape  Exit labwc
Alt+F2      Cycle between windows
Alt+F3      Launch dmenu
Alt+F12     Print all views (helpful if run from X11)

Running labwc

labwc can be run from a tty or in an existing Wayland/X11 session.

Why?

I saw sway, cage and wio, and felt the itch to have a go at hacking on a wlroots compositor myself.

I am also quietly looking for a Wayland alternative to openbox and playing around with some code-bases seems an obvious way to evaluate and explore options.

QtWayland and Mir

Before trying wlroots, I messed around with QtWayland / grefsen and Mir / egmde. These are pretty cool and still worth exploring further.

Lubuntu have declared that they will be switching to Wayland by default for 20.10 and that they are going to do this by porting Openbox to use the Mir display server and Drew DeVaults QtLayerShell, etc. One to keep an eye on.

kwin and mutter

I don't think that the KDE and GNOME compositors will be right. Although they offer a brilliant experience, they are pretty heavy and quite integrated with their respective stacks. I think I'm right in saying that they're not standalone window managers.

mutter - 411k lines-of-code (LOC)

kwin - 191k LOC

In terms of size comparison of these two giants, it's worth reflecting on the size of a few friends:

sway - 37k LOC

rootston - 7k LOC

openbox - 53k LOC

i3 - 20k LOC (but does include i3bar, etc)

dwm - 2k LOC