mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
A Wayland window-stacking compositor
https://labwc.github.io
| include | ||
| protocols | ||
| src | ||
| .clang-format | ||
| .gitignore | ||
| LICENSE | ||
| meson.build | ||
| README.md | ||
labwc
A light-weight openbox alternative for Wayland.
This software is in early development.
Dependencies
- wlroots (>=0.10.0)
- wayland-protocols
- xwayland
Aim
- 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
Keyboard Shortcuts
We will support rc.xml keybinds, but for the time being:
Alt+Escape Exit labwc
Alt+F2 Cycle windows
Alt+F3 Launch dmenu
Keyboard Layout
Set environment variable XKB_DEFAULT_LAYOUT for your keyboard layout, for
example gb. Read xkeyboard-config(7) for details.
Integration
- Use grim for scrots
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