WTF v0.1.1 — first public release
First public release. WTF is a tiling Wayland compositor whose configuration is a real F# program — compile-checked, hot-reloading, and drivable by scripts and agents over a JSON socket. This release is the repo going public plus the adoption polish on top of v0.1.0.
Highlights
- Config as code, with a compiler behind it —
~/.config/wtf/config.fsxis live F#. Machine-aware Type Providers autocompleteApps.to your installed applications andLayouts.to valid layouts; a typo is a compile error. Save to hot-reload; a broken config is rejected and the last good one stays active. - "F# brain, C body" — all window-management logic is a pure F# core (786 xUnit/FsCheck tests); a thin C shim over wlroots 0.18 + scenefx renders every frame. .NET is never in the render path. Architecture
- Agent-grade control socket — full WM state as one JSON document, semantic commands over NDJSON,
wtfctl toolsmachine-readable manifest, opt-inwtfctl asknatural-language driver (off unless you set an API key). - Eye-candy via scenefx — blur, rounded corners, macOS-style shadows, animations, per-window opacity, and dynamic time-of-day
.heicwallpapers; every knob live-tunable over the socket. - Crash containment — session wrapper with bounded restart → safe mode → greeter; every session logs with backtraces to
~/.local/state/wtf/. - Workspaces 1–9,
tall/wide/bsp/grid/full+ custom F# layouts, floating/fullscreen, window rules, XWayland, wlr screenshot/screencast portals, built-in bar + launcher, undo/redo, and a NativeAOT flavor.
New since v0.1.0 (this tag): the seed config now covers the full documented day-one keymap, prebuilt-install documentation, the FAQ, CONTRIBUTING + issue templates, and the one-line installer.
Install
One line on any supported distro (Debian 13+, Ubuntu 24.04+, Fedora, Arch, openSUSE Tumbleweed; x86_64/aarch64) — detects your package manager and uses the assets below:
curl -fsSL https://raw.githubusercontent.com/Neftedollar/WTF/master/scripts/get-wtf.sh | bashPrefer to read before you run? The script only downloads a release asset and runs the documented installers. Manual paths:
# Debian / Ubuntu
sudo apt install ./wtf-wm_0.1.1_amd64.deb
# Other supported distros
tar xf wtf-0.1.1-linux-x64.tar.gz && cd wtf-0.1.1
sudo bash scripts/install-deps.sh # system runtime libraries (once)
bash scripts/install-stage.sh stage # atomic install into /usr/localAll artifacts are self-contained — no .NET SDK or runtime needed on the target. Try it risk-free first: run wtf from a terminal inside your current desktop and it opens nested in a regular window. Quickstart
Known limitations (read before making it your session)
- Single-monitor tiling only. Extra outputs attach/detach safely, but workspaces don't span or move across monitors. Multi-monitor is the top roadmap item — roadmap discussion.
- NVIDIA untested — the author and CI pool are Mesa (AMD/Intel/software GL). Reports welcome, success or failure, with the session log.
- No
Super+dragmove/resize of floating windows yet. - 0.1 beta, dogfooded daily by one author. The FAQ has the unvarnished stability picture.
Checksums (SHA-256)
0839076cb23f725c717caf0bf1375ea81c54459c7fa568628593f29a40ca5487 wtf-0.1.1-linux-arm64.tar.gz
cdb0e4107a4a4a7561ebad7e232d31f724bf05e118bf37ca3f9e7d519882db72 wtf-0.1.1-linux-x64.tar.gz
ab7eeb5071516a9b9bfd39fc93b43c8ddbe523eb3b97edafe91e2c950dbd6fce wtf-wm_0.1.1_amd64.deb
7c1c3b61b5160f057ad8d084c84da847e9aef2db265893ab7c074a9d2d257ba8 wtf-wm_0.1.1_arm64.deb
These digests are also served by the GitHub API (gh api repos/Neftedollar/WTF/releases/tags/v0.1.1 -q '.assets[].digest'). Verify a download: put the matching line in a file and sha256sum -c. Checksums are also useful to packagers — the .tar.gz stage tree is what the AUR/rpm drafts in packaging/ consume.
Every commit behind this release
Build → install → headless boot → IPC smoke on Debian trixie, Ubuntu 24.04, Fedora, Arch, and openSUSE Tumbleweed (CI), plus the 786-test F# suite.
Found something broken? The bug template tells you exactly what to attach — a session log makes almost anything fixable.