dwl fork
Find a file
2026-08-23 09:25:49 +08:00
assets init 2026-08-14 20:06:39 +08:00
example Update config.lua 2026-08-23 09:25:49 +08:00
include test 2026-08-20 18:31:10 +08:00
licenses init 2026-08-14 20:06:39 +08:00
parser init 2026-08-14 20:06:39 +08:00
protocols init 2026-08-14 20:06:39 +08:00
smsg enable xwl 2026-08-21 18:43:53 +08:00
src init 2026-08-14 20:06:39 +08:00
.hgignore swapped to meson 2026-08-15 00:21:58 +08:00
config.h minor 2026-08-21 20:39:23 +08:00
flake.lock swapped to meson 2026-08-15 00:21:58 +08:00
flake.nix swapped to meson 2026-08-15 00:21:58 +08:00
LICENSE init 2026-08-14 20:06:39 +08:00
meson.build swapped to meson 2026-08-15 00:21:58 +08:00
meson_options.txt enable xwl 2026-08-21 18:43:53 +08:00
README.md Update README.md 2026-08-19 00:24:53 +00:00

Swindle

"It's so bad it's not even funny!" -kantiankant, 2026

Swindle is a fork of dwl that was designed from the start with one goal: to make it feel like the poor man's Hyprland. It has the following:

  • NO cool vfx
  • nearly NO documentation
  • ZERO good original code
  • only ONE tiling layout (dwindle)

Fun fact: I actually took some parts of MangoWM (such as the ext-workspaces implementation). hence why the LICENSE.mangowm exists

Dependencies

  • libinput
  • wayland
  • wlroots-0.20 (compiled with the libinput backend)
  • xkbcommon
  • wayland-protocols (compile-time only)
  • pkg-config (compile-time only)
  • meson (compile-time only)
  • ninja (compile-time only)

Install these (and their -devel versions if your distro has separate development packages) and run meson setup build followed by doas/sudo ninja -C build install, if you wish to install it (installs to /usr/local/bin/ by default).

Things that are good to have

Known Issues

N/A

Configuration

read example/config.lua. It should give you a basic idea of how configuring swindle works.

note: it's best to copy /etc/swindle/config.lua into XDG_HOME_DIR/.config/swindle/ before you attempt to start swindle because it (swindle) won't start without it

Checklist

  • separate the trackpad scroll from the mousee scroll
  • Add ability to change your keymap
  • Add animations via scenefx when 0.5 drops (in another branch)
  • Add the ability for the compositor to read a custom path for configs
  • Add /etc/swindle/config.lua as a fallback path if $HOME/.config/swindle/config.lua is not found

License

GPL-v3, probably