Skip to content

Releases: Neftedollar/WTF

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 04 Jul 11:13
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

Choose a tag to compare

@github-actions github-actions released this 03 Jul 18:20
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

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.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 02 Jul 15:59
WTF 0.1.0 — first tagged beta: 5-distro CI, vendored wlroots/scenefx,…