labwc/README.md
2020-06-08 19:49:19 +01:00

2.4 KiB

labwc

Labwc is a free, stacking compositor for Wayland.

It is in early development and has the following aims:

  • Be light-weight, small and fast.
  • Have the look and feel of the X11 Window Manager Openbox.
  • Where practicable, use other software to show wall-paper, take screenshots, and so on.

Dependencies

  • wlroots (>=0.10.0)
  • wayland-protocols
  • xwayland
  • libxml2

Will soon depend on

  • cairo, pango, glib

Roadmap

  • Support xwayland
  • Support some of openbox's rc.xml
  • Support openbox themes
  • Support layer-shell's background layer

Influenced by

Alternatives

The following were considered before choosing wlroots:

Configuration

See rc.xml comments for details, incl. keybinds.

Integration

Suggested apps:

  • grim - screenshots

Build

Arch Linux

sudo pacman -S wlroots
git clone https://github.com/johanmalm/labwc
cd labwc
meson build
ninja -C build

Debian

sudo apt install \
	build-essential \
	cmake \
	libwayland-dev \
	wayland-protocols \
	libegl1-mesa-dev \
	libgles2-mesa-dev \
	libdrm-dev libgbm-dev \
	libinput-dev \
	libxkbcommon-dev \
	libudev-dev \
	libpixman-1-dev \
	libsystemd-dev \
	libcap-dev \
	libxcb1-dev \
	libxcb-composite0-dev \
	libxcb-xfixes0-dev \
	libxcb-xinput-dev \
	libxcb-image0-dev \
	libxcb-render-util0-dev \
	libx11-xcb-dev \
	libxcb-icccm4-dev \
	freerdp2-dev \
	libwinpr2-dev \
	libpng-dev \
	libavutil-dev \
	libavcodec-dev \
	libavformat-dev \
	universal-ctags \
	xwayland

# Debian Buster has an old version of meson, so we use pip3
pip3 install --target=$HOME/bin meson

git clone https://github.com/johanmalm/labwc
cd labwc
git clone https://github.com/swaywm/wlroots subprojects/wlroots

# wlroots 0.10.0 is the last version which runs with Wayland 0.16
# (which is what Buster runs)
cd subprojects/wlroots && git checkout 0.10.0 && cd ../..

meson build
ninja -C build

Debug

To enable ASAN and UBSAN, run meson with -Db_sanitize=address,undefined