Releases: Neftedollar/WTF
Release list
v0.2.0
WTF v0.2.0 Spatial navigation, pluggable seams, Liquid Glass, and in-process surfaces — plus a broad correctness/hardening pass. Features since v0.1.2: - Spatial foundation: directional focus + SwapWith / SwapDir. - #9 COSMIC-style modal keyboard swap mode (highlight + commit). - #10 Mouse drag to rearrange tiled windows (swap on drop). - #5 Pluggable workspace TYPES (arranger seam, IWtfWorkspacePlugin). - #6 Pluggable effect strategies (IWtfEffectPlugin). - #7 Liquid Glass: index-scaled rim refraction (Part 1) + the advanced GLSL rim shader — chromatic aberration / noise / specular / surface (Part 2). - Surfaces: status bar rendered in-process as a WM surface (embedded by default), in-process omnibox overlay, user surface plugins, custom + script bar widgets. - Config: keybinding helpers, ricing toggles, full-keysym binding; run-or-raise across workspaces. Correctness & hardening: - Undo/redo no longer rewinds the live window set (orphan/ghost fix) or the C-side fullscreen flag; a folded map is pinned to its real workspace. - Glass style setters refresh dependent decoration nodes (shadow z-order under glass, corner-radius clip/shadow/glow); shadow toggle re-arranges for z-order. - Plugin-return boundaries hardened: null-return coalescing, per-facet registration isolation, sane unknown-layout fallback.
v0.1.2
WTF 0.1.2 — glass rice + native desktop shell + live-config UX - Glass frames v2: watercolor tinted frames, focus glow, palette-contrast borders - Configurable + glass bar/omnibox; colors as wallpaper-palette functions - Native D-Bus desktop shell: battery/network via the system bus (fixed), MPRIS, notifications, logind — system bus decoupled from session, disconnects logged - Live-config UX: per-bar refreshMs (default 300ms, repaint-on-change) and a persisted last-good config fallback + `wtfctl save-default` - wlroots 0.19.3 / scenefx 0.4.1; DRM wedge detection; vendored pixman on old CI
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.
v0.1.0
WTF 0.1.0 — first tagged beta: 5-distro CI, vendored wlroots/scenefx,…