]> git.mdlowis.com Git - proto/labwc.git/commitdiff
README.md: update with build instructions
authorJohan Malm <jgm323@gmail.com>
Thu, 21 May 2020 19:28:57 +0000 (20:28 +0100)
committerJohan Malm <jgm323@gmail.com>
Thu, 21 May 2020 19:28:57 +0000 (20:28 +0100)
README.md

index 5c486462804c35b7754ed2402575e0f1b0269615..c760f5142409ab462acaa38bad11137ce6d39ae6 100644 (file)
--- a/README.md
+++ b/README.md
@@ -4,38 +4,39 @@ A light-weight openbox alternative for Wayland.
 
 This software is in early development.
 
-# Dependencies
+## Dependencies
 
 - wlroots (>=0.10.0)
 - wayland-protocols
+- xwayland
 
-# Aim
+## Aim
 
-[x] Support xwayland
-[ ] Support some of openbox's rc.xml
-[ ] Support openbox themes
-[ ] Support layer-shell's background layer
+[x] Support xwayland  
+[ ] Support some of openbox's rc.xml  
+[ ] Support openbox themes  
+[ ] Support layer-shell's background layer  
 
-# Influenced by
+## Influenced by
 
 - [sway](https://github.com/swaywm/sway)
 - [cage](https://www.hjdskes.nl/blog/cage-01/)
 - [wio](https://wio-project.org/)
-- [rootston]()
+- [rootston](https://github.com/swaywm/rootston)
 - [openbox](https://github.com/danakj/openbox)
 - [i3](https://github.com/i3/i3)
 - [dwm](https://dwm.suckless.org)
 
-# Alternatives
+## Alternatives
 
 The following were considered before choosing wlroots:
 
 - [QtWayland](https://github.com/qt/qtwayland), [grefsen](https://github.com/ec1oud/grefsen)
 - [Mir](https://mir-server.io), [egmde](https://github.com/AlanGriffiths/egmde)
 
-# CONFIGURATION
+## Configuration
 
-## Keyboard shortcuts
+### Keyboard Shortcuts
 
 We will support rc.xml keybinds, but for the time being:
 
@@ -45,12 +46,72 @@ Alt+F2      Cycle windows
 Alt+F3      Launch dmenu
 ```
 
-## Keyboard layout
+### Keyboard Layout
 
 Set environment variable `XKB_DEFAULT_LAYOUT` for your keyboard layout, for
 example `gb`. Read `xkeyboard-config(7)` for details.
 
-# Integration
+## 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`