dwl is a compact, hackable compositor for Wayland based on wlroots. It is
intended to fill the same space in the Wayland world that dwm does in X11,
primarily in terms of philosophy, and secondarily in terms of
functionality. Like dwm, dwl is:
- Easy to understand, hack on, and extend with patches
- One C source file (or a very small number) configurable via config.h
- Limited to 2000 SLOC to promote hackability
- Tied to as few external dependencies as possible
dwl is not meant to provide every feature under the sun. Instead, like dwm,
it sticks to features which are necessary, simple, and straightforward to
implement given the base on which it is built. Implemented default features:
- Any features provided by dwm/Xlib: simple window borders, tags,
keybindings, client rules, mouse move/resize. Providing a built-in
status bar is an exception to this goal, to avoid dependencies on
font rendering and/or drawing libraries when an external bar could
work well.
- Configurable multi-monitor layout support, including position and rotation
- Configurable HiDPI/multi-DPI support
- Provide information to external status bars via stdout/stdin
- Urgency hints via xdg-activate protocol
- Various Wayland protocols
- XWayland support as provided by wlroots (can be enabled in config.mk)
- Zero flickering - Wayland users naturally expect "every frame is perfect"
WWW: https://github.com/djpohly/dwl
===> The following configuration options are available for dwl-0.3.1:
ADDONS=on: Install extra applications: alacritty bemenu-run
DOCS=on: Build and/or install documentation
X11=on: X11 (graphics) support
===> Use 'make config' to modify these settings
wayland: add more mostly leaf ports to virtual category
Caveats:
- emulators/rpcs3: install qt5-wayland and ensure Renderer is Vulkan (default)
- mail/thunderbird: add MOZ_ENABLE_WAYLAND=1 via environ(7)
- www/chromium: add --ozone-platform=wayland on command line
- www/firefox-esr: add MOZ_ENABLE_WAYLAND=1 via environ(7)
- www/firefox: add MOZ_ENABLE_WAYLAND=1 via environ(7)
(cherry picked from commit 29486876225718bafb70b78f4bb811674b06f164)
(cherry picked from commit bf8df578429ebfdbc76912b243516e8755bc616d)