Skip to content

WTF v0.1.1 — first public release

Choose a tag to compare

@github-actions github-actions released this 02 Jul 16:39

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.fsx is live F#. Machine-aware Type Providers autocomplete Apps. to your installed applications and Layouts. 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 tools machine-readable manifest, opt-in wtfctl ask natural-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 .heic wallpapers; 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 | bash

Prefer 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/local

All 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+drag move/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.