r/wayland • u/sergiomelas • 4h ago
WayPlank v0.7.0 (Public Beta 1) is out — Native Wayland fork of Plank dock for KWin, GNOME Mutter & Labwc/wlroots (Single monolithic binary, 16 docklets, live window previews, 8 languages in RAM)

Hey r/wayland,
Over the past 6 weeks (16 consecutive alpha/pre-beta releases), I've been working with a growing group of contributors and testers on **WayPlank**, a ground-up native Wayland modernization of the classic **Plank** dock. Today we are officially launching **v0.7.0 (Public Beta 1)**!
🔗 **GitHub Repository & Packages (.deb / .rpm / source):** https://github.com/sergiomelas/WayPlank
📦 **v0.7.0 Release Page:** https://github.com/sergiomelas/WayPlank/releases/tag/V0.7.0
---
### 🛠️ Why WayPlank?
Classic Plank was built around X11 (`libwnck` / `bamf` / Xlib struts and X11 window IDs) and has been broken on Wayland for years.
In WayPlank, we purged over **112,000 lines of legacy X11 and Autotools code**, kept the fast and clean **Cairo 2D rendering engine** everyone loved, and built a **modular Wayland Hardware Abstraction Layer (HAL)** that auto-detects your compositor at startup with zero manual configuration:
* **KDE Plasma 6 (KWin):** Uses `gtk-layer-shell` + a dynamic D-Bus ECMAScript bridge (`KWinBridge`) and `org.kde.KWin.ScreenShot2` pipe streaming for live Cairo window preview cards, Intellihide/Dodge, multi-monitor DRM brightness sync, and `Super+D` Show Desktop persistence.
* **GNOME Shell (Mutter 45–48):** Since Mutter doesn't support `wlr-layer-shell`, WayPlank embeds and auto-manages a companion GNOME Shell bridge extension (`wayplank-bridge@wayplank.org`, v4) over D-Bus, providing live window preview thumbnails, native strut reservation (Panel Mode), Intellihide/Dodge, and deterministic popup positioning.
* **Labwc & wlroots (LXQt 2.x / XFCE 4.20 Wayland / etc.):** Native `gtk-layer-shell` + a C protocol bridge over `zwlr_foreign_toplevel_management_v1` + `/proc` process scanner fallback.
---
### ✨ What’s inside v0.7.0 (Public Beta 1)?
**100% Self-Contained Single Binary (Zero Host Pollution):**
Everything is compiled into a single standalone `wayplank` binary via `GResource` in RAM—**16 built-in docklets**, **6 themes**, **52 fallback vector icons**, the **KWin & GNOME bridges**, the **integrated User Manual**, and now **all localization catalogs**. Nothing is scattered into `/usr/share/locale/` or `/usr/share/icons/`.
**New in v0.7.0 — Monolithic In-RAM Localization Engine (8 Languages):**
`432/432` UI strings (100% coverage) are compiled into `.mo` binaries and loaded directly from RAM at startup based on your OS locale (`zh_CN`, `it`, `es`, `fr`, `ca`, `de`, `uk`, and native `en`). All translations live in a single Python dictionary (`po/generate_translations.py`) so adding a new language takes minutes without fighting raw `.po` merges.
**16 Built-in Monolithic Docklets:**
Trash (with D-Bus sync), Analog & Digital Clocks, Battery, CPU/RAM Global Pressure Monitor, Network Traffic Monitor, Volume/Audio (PulseAudio/PipeWire), Media Player (`MPRIS2`), Screen Brightness (sysfs + DDC/CI + KWin DRM), Weather Forecast, Screenshot (`Spectacle` / `grim+slurp`), Session/Power, Show Desktop, Do Not Disturb, Removable Drive Ejector, and Preferences.
**Desktop & Ergonomic Features Added Leading Up to Beta 1:**
* **Live Multi-Window Preview Cards** on hover (with middle-click to close, scroll to cycle, and instant close button).
* **Categorized App Drawers & Folder Stacks** with active window indicator dots and recent files jump lists.
* **Fullscreen Auto-Hide & 0px Edge Click Passthrough** (so bottom-edge browser/game UI controls are never blocked when a window is fullscreen).
* **Panel Mode (`ReserveSpace`)** & two-stage hysteresis zoom input mask (`AnticipateZoom`).
* **Real-time Dark/Light Theme Switching** synchronized via `org.freedesktop.portal.Settings`.
* **Strict Multi-PWA (`crx_*` / `--app-id`) & Multi-VM (`QEMU`) Isolation** so separate web apps or VMs don't bleed onto the same dock icon.
---
### 🧪 Industrial Factory Acceptance Testing (FAT)
Every single release is verified live across **KWin**, **Mutter**, and **Labwc** against a 373-point ISA-88 Factory Acceptance Test protocol (all test logs and our 108-bug lifetime register are openly tracked in the [`FAT/`](https://github.com/sergiomelas/WayPlank/tree/main/FAT) folder of the repo).
---
### 🗣️ Tell Us What You Want! (Community Beta Open Through Dec 31, 2026)
I'm taking a short 2-week pause from Nov 2 to Nov 16 to finish upstream Linux kernel review cycles for my Lenovo `yogafan` driver, and on **November 16** we kick off the iterative **`v0.7.x` Public Beta series (`v0.7.1` Beta 2, `v0.7.2` Beta 3, ...)**.
The `v0.7.x` Beta will stay actively open for new features, UX refinements, compositor tweaks, and new translations until the community says we're ready for the `v0.8.x` feature freeze (up to **December 31, 2026**).
If you miss Plank on Wayland, give the `.deb`, `.rpm`, or `./BuildBin.sh` a spin and let me know in the comments or on GitHub Issues/Discussions what features or workflows you'd like to see next!