x11-wm/dwl 0.9 FreeBSD
dwm for Wayland
- System
- FreeBSD
- Repository
- FreeBSD ports
- Maintainer
- [email protected]
- Last update
- Commit
33fa2bbf31- License
- CC0-1.0, GPLv3+, MIT
- Categories
- x11-wm, wayland
- Package size
- 50.9 KiB, 140.8 KiB installed
Description
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 2200 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
- Idle-inhibit protocol which lets applications such as mpv disable idle monitoring
- Provide information to external status bars via stdout/stdin
- Urgency hints via xdg-activate protocol
- Support screen lockers via ext-session-lock-v1 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"
- Layer shell popups (used by Waybar)
- Damage tracking provided by scenegraph API
In the other systems
| System | Port | Version |
|---|---|---|
| FreeBSD | x11-wm/dwl | 0.9 |
| HardenedBSD | x11-wm/dwl | 0.9 |
| GhostBSD | x11-wm/dwl | 0.8 |
Install
Binary package:
pkg install dwl
From the ports tree:
cd /usr/ports/x11-wm/dwl/ && make install clean
To depend on this port in another port's Makefile:
RUN_DEPENDS= dwl>0:x11-wm/dwl
Packages
The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | 0.9 | 0.9 | - | 0.7_2 | 0.9 |
| FreeBSD:14:quarterly | 0.9 | 0.9 | n/a | 0.7_2 | 0.9 |
| FreeBSD:15:latest | 0.9 | 0.9 | n/a | 0.7_2 | 0.7_2 |
| FreeBSD:15:quarterly | 0.9 | 0.9 | n/a | n/a | n/a |
| FreeBSD:16:latest | 0.9 | 0.9 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/a |
Dependencies
As this port's Makefile names them.
Build 2
evdev-proto>0: devel/evdev-protowayland-protocols>0: graphics/wayland-protocols
Library 4
libwayland-server.so: graphics/waylandlibwlroots-0.20.so: x11-toolkits/wlroots020libinput.so: x11/libinputlibxkbcommon.so: x11/libxkbcommon
The full lists below include those, and their dependencies in turn.
Build dependencies 138
- accessibility/at-spi2-core
- archivers/brotli
- archivers/libdeflate
- archivers/liblz4
- archivers/lzo2
- archivers/zstd
- converters/fribidi
- converters/libiconv
- databases/gdbm
- databases/sqlite3
- devel/basu
- devel/dbus
- devel/dbus-glib
- devel/evdev-proto
- devel/gettext-runtime
- devel/glib20
- devel/gmake
- devel/gobject-introspection
- devel/gsettings-desktop-schemas
- devel/json-glib
- devel/libdaemon
- devel/libdatrie
- devel/libedit
- devel/libepoll-shim
- devel/libevdev
- devel/libevent
- devel/libffi
- devel/libgudev
- devel/libgusb
- devel/libinotify
- devel/libmtdev
- devel/libpciaccess
- devel/libthai
- devel/libudev-devd
- devel/llvm12
- devel/llvm19
- devel/pcre2
- devel/pkgconf
- devel/py-evdev
- devel/py-libevdev
- devel/py-packaging
- devel/py-pyudev
- devel/py-setuptools
- devel/py-six
- devel/readline
- devel/spirv-llvm-translator
- graphics/cairo
- graphics/colord
- graphics/gdk-pixbuf2
- graphics/graphite2
- graphics/gtk-update-icon-cache
- graphics/jbigkit
- graphics/jpeg-turbo
- graphics/lcms2
- graphics/lerc
- graphics/libdrm
- graphics/libepoxy
- graphics/libglvnd
- graphics/libliftoff
- graphics/librsvg2-rust
- graphics/mesa-dri
- graphics/mesa-libs
- graphics/png
- graphics/spirv-tools
- graphics/tiff
- graphics/vulkan-headers
- graphics/vulkan-loader
- graphics/wayland
- graphics/wayland-protocols
- lang/duktape-lib
- lang/lua54
- lang/perl5.42
- lang/python312
- lang/python315
- lang/tcl86
- math/libtommath
- math/mpdecimal
- misc/hicolor-icon-theme
- misc/hwdata
- misc/shared-mime-info
- multimedia/dav1d
- net/avahi-app
- print/cups
- print/freetype2
- print/harfbuzz
- print/indexinfo
- print/libpaper
- sysutils/gnome_subr
- sysutils/libdisplay-info
- sysutils/polkit
- sysutils/seatd
- textproc/expat2
- textproc/libxml2
- x11-fonts/fontconfig
- x11-fonts/libXfont2
- x11-fonts/libXft
- x11-fonts/libfontenc
- x11-servers/xwayland
- x11-themes/adwaita-icon-theme
- x11-themes/adwaita-icon-theme-legacy
The first 100 are listed.
Run dependencies 145
- accessibility/at-spi2-core
- archivers/brotli
- archivers/libdeflate
- archivers/liblz4
- archivers/lzo2
- archivers/zstd
- converters/fribidi
- converters/libiconv
- databases/gdbm
- databases/sqlite3
- devel/basu
- devel/dbus
- devel/dbus-glib
- devel/gettext-runtime
- devel/glib20
- devel/gobject-introspection
- devel/gsettings-desktop-schemas
- devel/json-glib
- devel/libdaemon
- devel/libdatrie
- devel/libedit
- devel/libepoll-shim
- devel/libevdev
- devel/libevent
- devel/libffi
- devel/libgudev
- devel/libgusb
- devel/libinotify
- devel/libmtdev
- devel/libnotify
- devel/libpciaccess
- devel/libthai
- devel/libudev-devd
- devel/llvm12
- devel/llvm19
- devel/pcre2
- devel/py-evdev
- devel/py-libevdev
- devel/py-packaging
- devel/py-pyudev
- devel/py-setuptools
- devel/py-six
- devel/readline
- devel/spirv-llvm-translator
- devel/xdg-utils
- graphics/cairo
- graphics/colord
- graphics/gdk-pixbuf2
- graphics/graphite2
- graphics/gtk-update-icon-cache
- graphics/jbigkit
- graphics/jpeg-turbo
- graphics/lcms2
- graphics/lerc
- graphics/libdrm
- graphics/libepoxy
- graphics/libglvnd
- graphics/libliftoff
- graphics/librsvg2-rust
- graphics/mesa-dri
- graphics/mesa-libs
- graphics/png
- graphics/spirv-tools
- graphics/tiff
- graphics/vulkan-headers
- graphics/vulkan-loader
- graphics/wayland
- graphics/wayland-protocols
- lang/duktape-lib
- lang/lua54
- lang/perl5.42
- lang/python312
- lang/python315
- lang/tcl86
- math/libtommath
- math/mpdecimal
- misc/hicolor-icon-theme
- misc/hwdata
- misc/shared-mime-info
- multimedia/dav1d
- net/avahi-app
- print/cups
- print/freetype2
- print/harfbuzz
- print/indexinfo
- print/libpaper
- sysutils/gnome_subr
- sysutils/libdisplay-info
- sysutils/polkit
- sysutils/seatd
- textproc/expat2
- textproc/libxml2
- textproc/utf8proc
- x11-fonts/fcft
- x11-fonts/fontconfig
- x11-fonts/libXfont2
- x11-fonts/libXft
- x11-fonts/libfontenc
- x11-servers/xwayland
- x11-themes/adwaita-icon-theme
The first 100 are listed.
No port depends on this one.
Configuration
Options name: x11-wm_dwl
| Option | Default | Description |
|---|---|---|
| ADDONS | on | Install extra applications: ${ADDONS_RUN_DEPENDS:C/\:.*//} |
| DOCS | off | Build and/or install documentation |
| X11 | on | X11 (graphics) support |
- USES
- compiler:c11 gmake pkgconfig
- Service scripts
- none
Files
distinfo 2
| File | Size | SHA256 |
|---|---|---|
| dwl-v0.9.tar.gz | 71727 | 635c1c352c32f2e69d7acf95053ed6178e8614b51485f221bae78255b0bf3e3d |
| a75ca796305e.patch | 644 | d6c8a1eaff12fe218279ddf79909e47d31f19c9b090643eed8fd14eaaeaed98e |
Master sites 1
- https://codeberg.org/dwl/dwl/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/