A wayland compositor with high protocol support, simple customization and an IPC server.
demo.mp4
meson
ninja
wlroots-git
0.19xkbcommon
wayland-server
wayland-protocols
xwayland
(can be disabled in build)
You can build and run using:
# clone
git clone https://github.com/dy-tea/awm.git
cd awm/
# build
meson setup build/
ninja -C build/
# run
./build/awm
Install
sudo meson install -C build/
Xwayland support
Currently xwayland support is very unstable and might even be removed in the future, to remove support do:
meson setup build -DXWAYLAND=false
Tests
You can build and run tests using:
meson setup build/ -Dtests=true
meson test -C build/
Note that tests have additional dependencies.
Custom wlroots
If system wlroots is not found, clone wlroots to subprojects/wlroots
and build using that instead of system wlroots. Note that libwlroots-0.19.so
won't be installed to /usr/lib
so you will have to copy it there if you want to run awm using the drm backend.
An example configuration can be found in config-minimal.toml.
You can copy this file to ~/.config/awm/config.toml
and modify it to your liking.
All options are documented in config.toml and many are explained in the wiki.
- Presentation time
- Viewporter
- XDG shell
- Linux DMA-BUF
- XDG activation
- DRM lease
- DRM synchronization object
- Session lock
- Single-pixel buffer
- Content type hint
- Idle notify
- Image Capture Source
- Image Copy Capture
- Xwayland shell WIP
- Fractional scale
- Cursor shape
- Foreign toplevel list
- XDG dialog windows
- Alpha modifier protocol
- Data control protocol
- XDG System bell
- Color management
- Keyboard shortcuts inhibit
- Pointer constraints
- Primary Selection
- Relative pointer
- XDG output
- wlr data control
- wlr export DMA-BUF
- wlr foreign toplevel management
- wlr gamma control
- wlr layer shell
- wlr output management
- wlr output power management
- wlr screencopy
- wlr virtual pointer
- Virtual keyboard