My favorite UX metaphor, the scrolling window manager, is having a moment thanks to innovations like Niri and Dank Linux.
I was a pretty early adopter of perhaps the best GNOME extension, PaperWM, which displays your windows as sliding frames that move fluidly with the press of a keystroke.
When everyone was going nuts over tiling windows, I was quietly calling this scrolling style the real innovation in windowed computing. (For the uninitiated: Think of it kind of like swiping between virtual desktops on Windows or MacOS, except you can do it on every single window, slideshow-style.) It was the best of both worlds—easy to navigate, while remaining mousable.
Eventually more people figured out that this was the ticket, and now PaperWM has grown from quiet experiment to robust extension. As a way to prove an idea, it was basically flawless, to the point where someone made a MacOS version.
/uploads/PaperWM.jpg)
But it had a problem: It was attached to GNOME, with all the extra cruft that implies. GNOME’s interface has a lot of fans (me included), but it’s mature, complex, and prescriptive. It’s controversial in the Linux world because it makes UX decisions for users that sometimes get in the way of user choice. I tend to defend it, but if you were to put “heavy FOSS graphical interface” in the dictionary, GNOME would most assuredly show up.
Retrofitting a new user interface paradigm on top of that dynamic comes with compromises.
/uploads/niri-star.jpg)
Which is why I’ve been keeping an eye on niri, an emerging window manager that is doing for sliding windows what Hyprland did for tiling. It is less than three years old (Hyprland is about four), but has quickly grown in popularity, doubling its GitHub star count in the past six months.
Built around the Wayland compositor, the project basically is set up like a kit, one where you need to supply parts in the form of config files. If you like customizing, it may be the project for you. But if you just want to get stuff done, it might not feel like a welcoming experience.
Omarchy, which we (controversially) covered a few months ago, exists because of this gap. People want the lightweight customizability of a window manager, but not the work of having to set it up.
To be clear, this is not far from where graphical interfaces for Linux and Unix variants started 40 years ago, but it’s arguably making a comeback because of a combination of sophisticated users and sophisticated tools. But not everyone has time to build their own config files from scratch.
/uploads/Niri-DankMaterialShell.jpg)
That’s where the project Dank Linux comes in. Pitched as a “modern desktop for Wayland,” it’s a set of “batteries included” tools to get you going in Niri or other window managers based on Wayland. Key to the project is DankMaterialShell, which combines a number of tools into one interface, along with the Material design approach. If Hyprland, Sway, niri and their ilk are attempts to deconstruct the desktop environment, Dank Linux tries putting it back together again.
Rather than relying on loose tools like waybar or rofi and bringing them together with a best-in-breed approach, DankMaterialShell comes with all the necessary tools already baked in. Plus, it’s highly extensible, and can be edited through a bunch of config files, just like all the really complicated tools. But unlike Omarchy, it’s not prescriptive—you’re not just having to work around one guy’s opinion of what your UX should look like for the rest of time. (Case in point: I don’t like borders or gaps around my windows, a typical trait of scrolling window managers. So … I just removed them.)
That’s because it’s built around Quickshell, a toolkit that has become very popular as a modding tool in the Linux community.
But some of us are normies who just want something that works. Hence why DankMaterialShell is making such a splash.
/uploads/dankmaterialshell_setup.png)
The feature set for this software is surprisingly robust, and seems to be growing quickly. DMS 1.2, for example, has literally dozens of new features. And despite the fact that this tool is only about six months old, it already has a screenshot tool, numerous plugins, and a robust theming system. The momentum is clearly there. (It’s not alone, either—also covering the same territory is Noctalia, which promises a more relaxed aesthetic.)
The Dank Linux team offers a couple of optional utilities—the system overview tool DGOP and the MacOS Spotlight-like file tool dsearch—that can make the experience surprisingly polished.
The one downside of this is that Dank Linux isn’t really supported on Bazzite, the very popular distro I use. But after I mentioned I was interested in that, and I did some off-label testing on my end, one of the creators of Zirconium, a Dank Linux distro for Fedora, reached out. Turns out, they were already working on a “quick and dirty” image that got Bazzite working with Zirconium. (As reflected by the name, Bazzirco.) They even created a Bazzite DX version for me, so I could easily access my Docker containers from the thing.
(Universal Blue, the framework upon which Bazzite is based, allows you to make your own custom builds pretty easily. You can even roll back to other versions so you can switch between different builds at will. Think it’s gonna be a GNOME day? Switch to that image.)
There were some glitches here and there—for example, I found that turning variable refresh rate on for my laptop screen caused my external monitors to drag. Plus, running a “quick and dirty” build naturally means you’re going to run into some quick-and-dirty bugs. (I ran into some audio issues while running Balatro on the experimental distro. Not the end of the world. I signed up for this!)
Sure, you can retrofit this—albeit with common engine-swapping issues like broken keyrings—but I think the real magic might be starting fresh with it. Load it up on a new machine, set up your config to your liking, and get sliding.
But overall, this feels like a big step forward for desktop Linux—highly flexible, highly customizable, bleeding edge, yet somewhat approachable to normal people. I would go so far as to call it dank.
I'm currently using niri (was previously using Hyprland).
Having used dwm-like tiling window managers for most of the time, I don't really care for the scrolling or dynamic workspace aspects of niri at all - in fact, I kinda dislike them (or haven't gotten used to them, at least). To me, it kills the point of a keyboard-centric desktop environment - which is the speed and lack of friction in making the window you want appear in front of your eyes.
Despite that, I still really like it. Mostly because I have so much more faith in its development. The documentation is excellent. The configuration file is sane, and not as arcane and ad hoc as the hyprland.conf format. The source repository looks well-maintained. Being written in Rust rather than C++ means onboarding new developers is easier. The discourse is more measured, owing to the lack of a somewhat stubborn lead maintainer in the case of Hyprland.
The surrounding ecosystem seems to be flourishing as well, with projects like Noctalia Shell, DankMaterialShell, and niri-flake natively supporting niri.
And perhaps most importantly, the out-of-the box experience is really nice. You have proper monocle and tabbed layouts without any compromises - features Hyprland has still not developed, where they are only possible with scuffed C++ plugins, or where its BDFL has stated they will never be introduced. Most features one would expect from a WM are already there and well-documented, which can't be said about Hyprland.
That's what struck me about niri when I tried it - it does what it promises without any show stopping bugs or complications.
Agreed. Recent Niri switcher here (from Sway after a brief swing by Cosmic) and I find it surprisingly simple and reliable for its age.
1000% agree - you said everything better that I was trying to say in my comment. Likewise coming from conventional TWMs I had some of the same struggles initially but the whole thing is just so smooth and config is so stupidly easy to work with. The docs are amazing and the community seems pretty boring in a good way :)
Niri¹ is awesome. It took quite a bit of customization when I originally installed it, however, quite a few things have improved since then. I believe that niri's out-of-the-box experience is reasonably good with the latest version. With the addition noctalia², it really feels like a complete desktop and offers the essential functionality that I'd expect from gnome or kde.
Wow, I just tried noctalia and it instantly replaced a load of brittle and stupid hacks I was relying on, what an amazing out of the box experience
Currently using Niri and DMS via https://github.com/zirconium-dev/zirconium which is fedora bootc atomic + niri + dms. After taking a year or so away from tiling WMs where I was using KDE for a bit, I'm enjoying it quite a lot.
Super impressed by the "out of the box" experience given that it took a ton of sweat and tears to get these types of setups 10+ years ago when I posting stupid screenshots of my awesomewm and bspwm configs to /r/unixporn.
I wasn't so sure about the scrolling wm thing but I'm enjoying not having to worry about switching layouts constantly to "make room" like I always have in traditional tiling wms. Dynamic virtual desktops has taken some getting used to since I was a long-term adherent of the "10 static virtual desktops" way of thinking, but again it's been a good experience to just get used to the idea that each virtual desktop isn't as limited as it is in other WMs since you can have some content off screen.
I think an underrated aspect of Niri is that it's a cousin to System76's cosmic desktop: they share a base compositor through https://github.com/Smithay/smithay/. I think a big part of why Niri has been able to pull off such a polished experience has a lot to do with smart design from folks working on Smithay.