Software 44935 Published by

DreamMaoMao released version 0.17.4 of MangoWC, the lightweight "dwm but Wayland" tiling compositor built on dwl and wlroots. The headline change re-adds the confine_pointer window rule that pins the cursor to a focused window, accompanied by a batch of fixes targeting fullscreen scanout, XWayland scaling blurriness, monitor hot-swap crashes, and layer/overlay focus problems. Behind the scenes, the release also splits each scene layer into separate stacking and content nodes, laying smoother groundwork for future features. Framed around a "stability first" philosophy, 0.17.4 reads as a maturity release suited for daily driving, installable via the AUR or build-from-source across most major Linux distros.



MangoWC 0.17.4 returns a pointer-locking feature and patches Wayland compositor crashes

The latest point release re-adds a rule gamers wanted, and quietly rebuilds part of the compositor's rendering pipeline.

Developer DreamMaoMao tagged and published version 0.17.4 of MangoWC today. It's the newest point release in the fast-moving 0.17.x series. 

So what is Mango, if you haven't touched it? The project's tagline does the heavy lifting: "Practical and Powerful Wayland compositor (dwm but Wayland)." A compositor is just the low-level piece that grabs input from your devices, stacks window contents onto the screen, and decides how everything gets arranged. Mango grows straight out of dwl, the minimalist fork of the dwm window manager, and wlroots, the modular library that implements the Wayland protocol for tiling managers. Think of it as the thing that picks up right where dwl stops.

It keeps dwl's basic philosophy of a tiny, fast-compiling C codebase while stacking on the features modern users expect. The catch is by design: it refuses to bloat into a full desktop environment like GNOME or KDE Plasma.

Mangowc

What's actually new in 0.17.4

The official notes split into two buckets: one new feature, and a pile of fixes. That split says everything you need to know about this release.

The headline is the return of the confine_pointer window rule, which pins your cursor inside a window's bounds. It matters most for fullscreen gamers or anything wanting exclusive cursor control. Without it, the pointer wanders onto the next monitor the instant you drift toward an edge. Disruptive.

Here's the fun part. The commit history shows confine_pointer was added back in the 0.17.0 era, then quietly yanked with the message "not need confine_pointer anymore," and is now coming back as a global option. That back-and-forth reflects a team still working out how pointer constraints should reach users.

The fixes make up the rest. The biggest cluster sits around fullscreen and scaling, XWayland included. A missing disable of the dim in fullscreen had been blocking scanout mode, which presents a window's buffer straight to the display without an extra copy. Blocking it hurts battery life and can introduce tearing. Mango also fixed blurriness when scaling certain XWayland sizes, plus an issue where some scaling setups locked games out of fullscreen and scale results that didn't cover the whole screen.

On the crash side, a monitor hot-swap could kill the compositor if select_monitor resolved to null after a screen vanished. There was also missing environment cleanup before exit, so shutdown is tidier now. A tidy shutdown is a weird thing to get excited about, but there it is.

Then there's focus and the UI chrome. Unclickable website elements (a pointer-routing issue under XWayland), a lock surface losing keyboard focus in some cases, overlays dropping out of the top layer, and the topbar not appearing on special tags. A separate fix keeps the overlay from stacking over the special workspace layer.

Head here to the GitHub release page.