A Wayland window-stacking compositor https://labwc.github.io
Find a file
2019-12-28 20:33:01 +00:00
.clang-format Add .clang-format and apply 2019-12-27 21:22:45 +00:00
.gitignore Rename to labwc 2019-11-19 21:03:43 +00:00
dbg.c Move some functions from main.c to dbg.c 2019-12-27 21:45:00 +00:00
labwc.h Complete carve up of main.c 2019-12-27 22:34:00 +00:00
LICENSE Initial commit 2019-05-11 21:21:58 +01:00
main.c Complete carve up of main.c 2019-12-27 22:34:00 +00:00
Makefile Move some functions from main.c to dbg.c 2019-12-27 21:45:00 +00:00
output.c Do not decorate windows such as dmenu 2019-12-28 20:33:01 +00:00
README.md README.md: add scrot 2019-12-16 21:20:14 +00:00
server.c Complete carve up of main.c 2019-12-27 22:34:00 +00:00
view.c Complete carve up of main.c 2019-12-27 22:34:00 +00:00
xdg.c Add .clang-format and apply 2019-12-27 21:22:45 +00:00
xwl.c Add .clang-format and apply 2019-12-27 21:22:45 +00:00

labwc

labwc is a wayland compositor based on wlroots

https://imgur.com/rb2hJh3

Dependencies

  • wlroots
  • wayland-protocols

Keyboard shortcuts

Alt+Escape  Exit labwc
Alt+F2      Cycle between windows
Alt+F3      Launch dmenu
Alt+F6      Move window
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