Remix.run Logo
The Dank Case for Scrolling Window Managers(tedium.co)
81 points by todsacerdoti 7 hours ago | 40 comments
turboponyy 3 hours ago | parent | next [-]

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.

porkloin 2 hours ago | parent | next [-]

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 :)

benoliver999 3 hours ago | parent | prev [-]

That's what struck me about niri when I tried it - it does what it promises without any show stopping bugs or complications.

rkomorn 3 hours ago | parent [-]

Agreed. Recent Niri switcher here (from Sway after a brief swing by Cosmic) and I find it surprisingly simple and reliable for its age.

20after4 5 hours ago | parent | prev | next [-]

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.

1. https://github.com/YaLTeR/niri

2. https://docs.noctalia.dev/getting-started/installation/

benoliver999 an hour ago | parent [-]

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

c7b 2 hours ago | parent | prev | next [-]

I don't get the hype for scrolling WMs. It feels like the app switcher view on phones. Never thought I needed that on desktop, normally it just freaks me out with how much stuff is open.

If you like this, check out stacked tiling. It comes natively in COSMIC and I believe it can be configured in i3, Sway and Hyprland as well. It's basically tabs across windows, but thanks to tiling you have different regions of the screen with their own tab sets. I usually just split the screen vertically once, so I have a left and right region. Turns out so many workflows can be described as 'ingest information somewhere and apply it somewhere else', and this is just such a useful layout for this. Whenever I have something that requires sole attention, I just maximize that window.

angelfangs 13 minutes ago | parent | prev | next [-]

If you want to picture the future, imagine a million AI agents implementing todo apps and someone "re-imagining" the Alt+Tab feature, forever.

benrutter 2 hours ago | parent | prev | next [-]

I love the WM innovation that is happening in Linux right now. I've used i3, awesome and pop quite a bit.

That said, I've gone full circle and just use a regular ol' floating style for now. This is because if the realisation that my workflow is to open a browser, a terminal, and then just use tabs within them.

I always want to know other people's workflows! I'm sure for some people who need/want lots of windiwd open, scrolling and tiling WMs provide massive utility.

I really like them, but I don't think I can honestly claim they help my oroductivityat all (I might still pretend this is true now and again though)

vidarh an hour ago | parent [-]

I use a hybrid setup. I have 9 tiled desktops, and 1 floating, across 2 monitors, so I "make a mess" on the floating one and the rest are task focused, typically with one dedicated to a single browser window for my "main" browsing.

S0und 3 hours ago | parent | prev | next [-]

I've switched my work laptop from W10 to Fedora about 9 months ago, using KDE during this time. The past month switched to Niri + DMS and I'm extremely happy, which is odd to say. I've a stacked external monitor setup 2 x 4k monitors on top of each other. Top one is the main, runs mostly just the IDE. The bottom one with 7 named workspaces:

- chat: teams / discord - work: assisting workspace for Main screen - git : sourcegit - terminal: for general terminal stuff - claudecode - work related browsing - personal browsing

All workspaces are accessible their own hotkey, so I can work on something on the main, and instantly switch to a specific application. I had the exact setup with KDE, but I had to do some trickery to get this working with Virtual Desktops Only on Primary Display https://store.kde.org/p/2143363. Niri enables to have the same setup, + display independent workspace setup which I really wanted. The same feature was requested 20! years ago in KDE, and we still don't have it. This kinda shows the power of independent projects like Hyprland and Niri.

Ericson2314 6 hours ago | parent | prev | next [-]

My favorite part about Niri is that a bunch of people said that writing a Wayland compositor in Rust was too hard to do for years. Turns out they're wrong!

wongogue 5 hours ago | parent | next [-]

There are more. Jay, cosmic and even xfce is writing their new compositor in Rust.

tvshtr 3 hours ago | parent [-]

Also Pinnacle

https://github.com/pinnacle-comp/pinnacle

porkloin 2 hours ago | parent [-]

The majority of the projects in this comment chain don't actually independently implement a compositor in Rust - which is a good thing IMHO. Cosmic and Pinaccle at least come from a common core written in rust that is associated with the cosmic project: https://github.com/Smithay/smithay/

abhinavk an hour ago | parent [-]

niri also uses smithay. jay is its own thing.

therein 6 hours ago | parent | prev [-]

I haven't checked the repo but just carefully use unsafe as an escape hatch when needed and Rust gets out of your way. Sure you give away some of the guarantees that some people get cultish about but you get to tap into a beautiful ecosystem and reap the benefits.

porkloin 2 hours ago | parent | prev | next [-]

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.

abhinavk an hour ago | parent | prev | next [-]

I have been using niri for almost an year now. First with waybar, now with Quickshell (which DankMaterialShell is baed upon).

There are many other implementations of this paradigm if niri doesn't feel/work right to you.

- PaperWM (for Gnome; the original)

- mangowc (dwm rewrite but has a scrolling mode)

- scroll (fork of sway)

- papersway (based on sway)

- hyperscrolling (hyprland plugin)

- karousel (for KDE)

- PaperWM.spoon (for macOS)

- komorebi (for Windows)

notepad0x90 6 hours ago | parent | prev | next [-]

My only gripe is that these newer wm's require hardware acceleration. It's hard to try them out in a VM, and committing to a hardware install is a big ask for anyone that's been using something else for a while.

jlarocco 6 hours ago | parent | next [-]

You don't have to remove other WMs to try a new one. Most login managers will let you choose at login.

thayne 3 hours ago | parent | prev | next [-]

Many wayland compositora can run as clients of another compositor.

So you can run a niri session inside of a gnome sesson for example. No need for a VM.

xhcuvuvyc 5 hours ago | parent | prev | next [-]

Just install sway and run it from a different tty

ahartmetz 6 hours ago | parent | prev [-]

You can often install packages in a live system ("try" option of installation medium). The backing storage for that is a RAM disk overlay. Did you not know or is that too short-lived for you for a proper trial?

mikestorrent 6 hours ago | parent | prev | next [-]

I really miss classic X11 virtual panning desktops where I can get more real estate just by scrolling offscreen. I have a cyberdeck with a 1080x480 screen, and the vertical resolution is just too low to be able to display most dialogue boxes; if I could just have panning in Wayland it would be fantastic, as the guts are an RPi 5 and X11 is slow as molasses on there due to lack of classic 2D acceleration primitives.

froh 3 hours ago | parent | next [-]

isn't just about anything slow as molasses without 2d acceleration primitives?

I remember to this day the difference between my Hercules dynamite pro without and then with acceleration support. now I feel old.

gedy 6 hours ago | parent | prev [-]

Yes I had recently tried to fake a scrolling tiling WM this way and surprised it's not available afaics on distros or MacOS?

With that said, I love DankMaterialShell along with Niri, it's basically exactly what I had been wanting after using PaperWM for a while.

RMPR 3 hours ago | parent | prev | next [-]

I wish the author had spent more time explaining what's better about SWM compared to TWM.

The only thing he said:

> It was the best of both worlds—easy to navigate, while remaining mousable.

Is not really convincing as Cosmic desktop for example is tiling while remaining mousable.

I have been vaguely aware of PaperWM and Niri but never saw the appeal productivity-wise.

protoman3000 2 hours ago | parent | prev | next [-]

This is all cool but what we really need is tabbed tiling. I miss the days using i3 where I had a fixed canvas of frames and then just tabs for each frame.

amadeuspagel an hour ago | parent | prev | next [-]

Dank can't configure the taskbar to have a dark background while the system stays in light mode.

hurricanepootis 5 hours ago | parent | prev | next [-]

First time I saw the word Dank in the Big 26

y1n0 5 hours ago | parent [-]

Disagreeably moist or humid. I guess it’s not really any different than saying something is ‘the shit.’

conwaytwitty 5 hours ago | parent | prev | next [-]

Niri demo video actually looks kinda cool, could be nice to use on a laptop when there's no access to multiple external monitors, so that you could just pop a log/tool/whatever window to the side without fulling swapping workspaces xmonad/i3/hyprland/etc style.

But with 2+ screens available I'd think at least for me the usefulness would diminish, even if you'd have per monitor scrolling

green7ea 4 hours ago | parent [-]

I'm using niri with two screens at work and it's been very nice. I don't open windows on the side as you suggest but I believe that can be done with custom bindings and/or window rules.

dbjacobs 3 hours ago | parent | prev | next [-]

If you are a KDE user Karousel[1] a Kwin script is an easy way to try out a scrolling style.

1. https://github.com/peterfajdiga/karousel

hombre_fatal 5 hours ago | parent | prev [-]

I installed NixOS on my desktop and used Sway for a while before switching to Niri.

With Sway, I'm constantly having to find a place to open a new window (tuck it into the current workspace or create Yet Another One). Or I'd slot it into some tabbed group and forget.

With Niri, I hate to admit it, but even after a month I would get lost. I would lose track of where things were not just between workspaces, but even on the same workspace: was that one claude terminal I'm looking for scrolled off to the right or left?

I ended up writing my own Fuzzel tools so that I could do the macOS thing where I alt-tab to apps and then alt-tilde between apps of the same kind.

But in the end I couldn't make it more productive than my macOS workflow with a global hotkey iTerm2 window with 10 tabs and then just alt-tabbing + alt-tilde between apps.

spartanatreyu 4 hours ago | parent | next [-]

> was that one claude terminal I'm looking for scrolled off to the right or left?

Isn't that what the overview feature is for?

Video: https://github-production-user-asset-6210df.s3.amazonaws.com...

Lownin 5 hours ago | parent | prev | next [-]

I've had a pretty good experience setting up a launcher of some kind that can fuzzy find from my open programs/windows. super+space "fi" to pull up my open Firefox. On MacOS I have super+tab bring up Alfred with a fuzzy find through my open tabs. I need to get around to figuring out something similar for my Linux DE.

resonious 4 hours ago | parent | prev | next [-]

I just start closing stuff when this happens. If I can't remember why a window is open, it probably won't hurt to close it.

fellowniusmonk 4 hours ago | parent | prev [-]

Right Cmd app and mapping caps to right command, deterministic window switching is key.

I used caps jkl; chording to give me left/right: quarter, half, 2/3rds, full and the k and l alone to give me different middle of window widths. caps I switches screens and caps U to rotate heights.