I Tried MangoWM, and I'm Not Going Back to Niri

Wait 5 sec.

I already shared my experience with the Niri window manager in another post. Its scrollable workspace model is clever.Then I stumbled across MangoWM, and I couldn't leave it alone because it offers a similar scrolling mode as compared to Niri, plus more, while still being simple to build from source code.MangoWM is a Wayland compositor built on top of wlroots and heavily inspired by dwl (which itself draws from dwm). On paper, it sounds like yet another minimal tiling compositor. But when I actually sat with it for a few days, something clicked. This is a guide to what I tried, what I discovered, and what made me stop going back to Niri.📋Niche window managers like Niri, MangoWM, Hyprland often require configuring elements with dot files. I would consider these more of an expert level domain for Linux users. If these things are new to you and you still want to try, use dot files from the developer or trusted repos and try them in a VM or a spare test machine.What is MangoWM, anyway?Before I get into the setup, let me introduce MangoWM. 0:00 /1:35 1× A short video of Mango WM on Arch Linux MangoWM (sometimes referred to as "mango") is a Wayland compositor, meaning it replaces not just your window manager but the entire display server layer above the kernel. It handles input, rendering, compositing, and window management all in one relatively small binary.It was created by a developer named DreamMaoMao, and it takes the "as lightweight as dwl, built in seconds" philosophy seriously, while tacking on a surprisingly complete feature set: smooth animations, multiple layout modes, per-tag window rules, blur and shadow effects via scenefx, scratchpads, hot-reload config, and excellent XWayland compatibility for the legacy apps you can't avoid.The tag system (borrowed from dwm) is worth understanding upfront. Instead of numbered workspaces that you switch between sequentially, tags are labels you assign to windows. A window can carry multiple tags at once, and you can view any combination of tags simultaneously. It's a different mental model, and once it clicks, going back to linear workspaces feels oddly constraining.Installing MangoWM on your systemMangoWM comes as a pre-built package on Arch Linux, Fedora, and NixOS. If you're just trying Mango for the first time, I highly suggest running it on Arch Linux. It eases the overall installation with just a single command.On Arch Linux (which includes Kali, Manjaro, and EndeavourOS users), the cleanest route is through the AUR. You need an AUR helper like yay or paru:yay -Syu scenefx0.4yay -Syu mangowm-gitThis pulls the latest git build. If you get classic Arch Linux error messaging saying, "a manual intervention is required," then it's likely you're missing -yu flag with AUR helper.On Fedora, MangoWM lives in the Terra third-party repository:sudo dnf install --nogpgcheck --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' terra-releasesudo dnf install mangowmLaunching Mango WM for the first timeYou can start MangoWM straight from a TTY:mangoIf you're using a display manager like SDDM or GDM, MangoWM registers a desktop session entry during install, so it should appear as a session option at the login screen.When you open Mango WM for the very first time, all you get is a blank screen. When you hit Alt+Enter(Return), foot,(the default terminal emulator) opens, and you can start configuring the window manager from there.Mango WM screen after opening up two terminal instanceGetting a working config to start fromMangoWM reads the config from ~/.config/mango/config.conf. On a fresh install, the system-wide default lives at /etc/mango/config.conf. The first thing I did was copy it over:mkdir -p ~/.config/mangocp /etc/mango/config.conf ~/.config/mango/config.confIf you want a more complete starting point with Waybar, Rofi, wallpaper setup, and all, the developer maintains an example config repo. I tried the developer-provided config, but didn't find the shortcut intuitive to use. So I went ahead and wrote my own config file from scratch. Mango WM documentation really helped me to copy configuration snippets that I wanted to achieve, a keybinding similar to Sway and i3 setup.git clone https://github.com/DreamMaoMao/mango-config.git ~/.config/mangoTo make the developer-provider config work exactly as it is, you need to install additional dependencies:yay -Syu rofi foot xdg-desktop-portal-wlr swaybg waybar wl-clip-persist cliphist wl-clipboard wlsunset xfce-polkit swaync pamixer wlr-dpms sway-audio-idle-inhibit-git swayidle dimland-git brightnessctl swayosd wlr-randr grim slurp satty swaylock-effects-git wlogout soxI found this genuinely useful as a reference, even though I ended up rewriting most of it from scratch within a few sessions. Reading through someone else's complete config taught me what was possible much faster than the docs alone would have.Here's my complete config in one file. The default configuration uses Alt+arrow keys instead of a Sway-like configuration of utilizing hjkl Vim-like workflow.Learning the tag systemThis is where MangoWM diverges most sharply from compositors like Sway, Hyprland, or Niri, all of which use the workspace model I'd been on for years.In MangoWM, every window is assigned one or more tags (numbered 1–9 by default). You view tags rather than switch to workspaces. The keybindings to know:KeybindActionCtrl + 1-9View a tagAlt + 1-9Move the focused window to a tagThe thing that surprised me: you can view multiple tags simultaneously by pressing Ctrl multiple numbers. Two related projects on different tags? Hold Ctrl and press both numbers. They merge into a single view.I resisted this for about a day. Then I stopped resisting. There's something genuinely freeing about being able to pull in exactly the windows you want without reorganizing anything.Switching between layoutsOne of MangoWM's most practical features is per-tag layout switching. You're not locked into master-stack globally. For each tag, you can cycle through:Master-Stack: the standard big window on the left, stack on the rightScroller: windows scroll horizontally, similar to Niri's model (this one made me feel at home)Monocle: one maximised window at a time, others hiddenGrid: even tiling across available spaceDeck: stacked cards, only the top one visibleThe default keybind to cycle layouts is Super + N. I ended up assigning specific layouts to specific tags because my work context maps cleanly to them: a Monocle tag for focused writing, a Scroller tag for reference browsing, and a Master-Stack tag for terminal work. 0:00 /0:23 1× Switching layout in Mango WM with Super + N I have bind Alt + s to get a similar scrollable model like Niri. Similarly, to switch to normal tiling, I have bind Alt + t. To cycle windows, I have bound Super + Shift +hjkl and Super + Shift + arrow keys.This kind of per-context layout was something I kept wishing Niri had. Niri's scrollable workspace model is clever, but it's one model. MangoWM gives you a toolkit.Setting up your bar, launcher, and wallpaperMangoWM doesn't bundle these, so you have to bring your own. The recommended options from the official quick-start docs are:Status bar: Waybar, eww, AGS, Quickshell. I use Waybar all the way.Launcher: rofi, fuzzel, bemenu, wmenu. I prefer Fuzzel as an application launcher on Wayland.Wallpaper: You have these options: swww (awww) and swaybg. Btw, I use azote for setting up wallpaper. It offers the ability to set different wallpapers for different monitors and presents a nice gallery of wallpapers to choose from. Notifications: swaync, mako, dunst. I prefer fnott as my notification daemon on Wayland.I was already running Waybar with a Tokyo Night theme on Niri, and I carried the whole config over with minimal changes. The IPC support in MangoWM means you can expose workspace (tag) state to Waybar properly. The example config in the developer's repo shows exactly how.To autostart these tools, MangoWM's config has an exec-once directive (similar to Hyprland):exec-once = waybarexec-once = swww-daemonexec-once = dunstWithin about an hour, I had a working bar and wallpaper. The whole setup felt familiar to anyone who's configured a wlroots-based compositor before.Tuning the visual effectsThis is where I spent more time than I expected. MangoWM ships with window effects powered by scenefx: blur, drop shadows, corner radius, and per-window opacity. These live in the [effects] section of the config:[effects]blur = trueblur_passes = 2blur_strength = 4corner_radius = 8shadow = trueshadow_color = 0x44000000The hot-reload support means you can adjust values and see changes without restarting anything. Just save the file. I found myself iterating on corner radius and shadow softness for an embarrassing amount of time.Coming from Niri, which keeps visual effects minimal, this felt almost indulgent. But it also never felt slow. The scenefx rendering layer is efficient enough that I didn't notice a GPU performance difference on my i5 with integrated graphics.Window rules and per-app behaviourMangoWM supports window rules that let you control how specific applications open: which tag they land on, what layout they use, whether they float, and their starting dimensions.A basic rule in the config looks like:[[rules]]match_app_id = "org.mozilla.firefox"tag = 2layout = "master-stack"[[rules]]match_app_id = "foot"floating = false[[rules]]match_title = "Picture-in-Picture"floating = truesize = [400, 225]pin = trueThe pin option keeps a floating window visible across all tags, useful for PiP video, a music player, or a floating terminal you want everywhere.I set up rules for Firefox (always tag 2, master-stack), my terminal (tag 1, no floating), and a scratchpad terminal (floating, pinned). This level of control over window placement is something I missed badly whenever I used a compositor without it.Should you try MangoWM?If you're already on a tiling Wayland compositor and you're happy with it, the answer depends on what's missing.MangoWM is worth trying if you want more layout flexibility than a single-model compositor gives you, if you like the dwm tag philosophy but want modern Wayland features alongside it, or if you want smooth animations and window effects without moving to a heavier compositor like Hyprland.It's probably not the right choice if you want a point-and-click GUI configuration tool, if you're new to tiling window managers in general, or if your distro doesn't package it and you're not comfortable building from source.For me, the combination of fast compilation, hot-reload config, per-tag layouts, and genuinely good XWayland support hit a set of itches I didn't fully know I had. I came in expecting to write a quick "I tried it" post and came out with a compositor I'm going to stay on.No doubt, Niri is a good window manager. But I'm sticking with MangoWM for my daily use.