A Wayland window-stacking compositor https://labwc.github.io
Find a file
2020-06-12 21:41:30 +01:00
data theme: add window_active_handle_bg_color 2020-06-12 21:41:30 +01:00
include theme: add window_active_handle_bg_color 2020-06-12 21:41:30 +01:00
protocols Add meson.build 2020-05-20 22:04:22 +01:00
src theme: add window_active_handle_bg_color 2020-06-12 21:41:30 +01:00
tests tests/t1001-rcxml-nodenames-simple.c: fix leak 2020-06-10 16:51:05 +01:00
tools Add theme.c to parse openbox's themerc 2020-06-11 21:20:43 +01:00
.clang-format Support xwayland view resize (LAB_DECO_PART_LEFT) 2020-05-25 13:42:40 +01:00
.gitignore Add meson.build 2020-05-20 22:04:22 +01:00
LICENSE Initial commit 2019-05-11 21:21:58 +01:00
meson.build Add tests/t1000-rcxml-simple-parse.c 2020-06-08 21:10:45 +01:00
README.md rc.xml: add <lab><keyboard><layout> 2020-06-08 19:49:19 +01:00

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