A Wayland window-stacking compositor https://labwc.github.io
Find a file
2020-09-02 20:26:18 +01:00
data Support inactive unpressed icons 2020-08-21 20:35:06 +01:00
docs common/dir.c: do not include openbox/ dirs 2020-08-31 08:17:34 +01:00
include Add struct view_impl 2020-09-02 20:20:52 +01:00
protocols Add meson.build 2020-05-20 22:04:22 +01:00
src view.c: simplify view_at() 2020-09-02 20:26:18 +01:00
tests rcxml: add rcxml_finish() 2020-08-13 20:20:44 +01:00
tools mv xbm/ .. 2020-08-31 20:01:08 +01:00
.clang-format Support xwayland view resize (LAB_DECO_PART_LEFT) 2020-05-25 13:42:40 +01:00
.gitignore src/main.c: read themerc specified by rc.xml 2020-07-20 19:53:03 +01:00
LICENSE Initial commit 2019-05-11 21:21:58 +01:00
meson.build meson.build: remove werror=true 2020-08-18 20:16:05 +01:00
README.md Update README.md 2020-09-01 19:45:36 +01:00

labwc

1. What is this?

Labwc is a [WIP] free, stacking compositor for Wayland and has the following aims:

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

It is in early development, so expect bugs and missing features.

Labwc has been inspired and influenced by openbox, sway, cage, wio and rootston

Labwc is based on the wlroots library. The following were considered before choosing wlroots: qtwayland, grefsen, mir and egmde.

2. Build

meson build && ninja -C build

Runtime dependencies include:

  • wlroots (>=0.10.0)
  • xwayland
  • libxml2
  • cairo
  • pango

For further details see tools/build and wiki/Build.

3. Configure

See rc.xml and themerc comments for details including keybinds.

If you want to override the defaults, copy data/rc.xml to ~/.config/labwc/ and tweak to suit.

Full details in labwc(1) and labwc(5)

4. Run

./build/labwc -s <some-application>

5. Integrate

Suggested apps to use with labwc:

  • grim - Take screenshot

6. Roadmap

  • Support xwayland
  • Parse rc.xml
  • Parse themerc
  • Read xbm icons
  • Show maximize, minimize, close buttons
  • Give actions to maximize, minimize, close buttons
  • Add grip
  • Support layer-shell background (e.g. using swaybg)
  • Draw better alt-tab rectangle
  • Try restarting and consider catching SIGHUP for --reconfigure
  • Implement client-menu
  • Implement root-menu

For further details see wiki/Roadmap.