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.
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.
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.
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.
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!
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/
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.
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.
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?
then you'll have to stop using your existing system. and yes, it's too short-lived, I'd want like a week of usage normally. I can see the videos and screenshot to know what it looks like, I want to see how buggy it is, and how hard it is to manage things with it.
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.
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.
FVWM, TWM and others had a grid-like move/resize option where instead of redrawing the whole window you would just move a wireframe around until you placed the window 'down'.
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)
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.
- i cant help but notice this website is called tedium. is that some kinda pun on medium.com? is this website older than medium or what? i have never heard of this blog before?
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
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.
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.
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.
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.
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.
Ever since I discovered EXWM (Emacs) years ago, I've never looked back. It's the most efficient free tiling model I've encountered so far, with windows easily resizable via mouse and/or keyboard, flipping between the current application/buffer and the last one used (`mode-line-other-buffer`), the "minimization" (`bury-buffer`) that remains listed among open applications/buffers etc.
I think the current problem with most desktop environments is the inability of those who develop them to imagine a different desktop. Let's just take how I arrived at EXWM. I was orphaned from OpenSolaris, moved to Ubuntu because coming from FreeBSD first and OpenSolaris (SXDE, CE and then OpenIndiana), GNU/Linux wasn't much by comparison, more development, better hw support, but a fragile and archaic system in too many aspects, archaic even in the mindset of many top developers, I think of Andrew Morton's infamous "rampant layer violation" talking about zfs. To the ridiculous development of BTRFS as a response and Stratis instead of perhaps looking at DragonFly BSD's Hammer as a possible response, after having had and thrown away filesystems like Nilfs2 or never really developed for user use filesystems like F2FS. Today, the love for containers useful only for commercial purposes rather than for declarative distros like NixOS or Guix System. Well, to make a long story short, at the time I chose Ubuntu with the Unity desktop, simply because I had other things to do than play around managing my desktop like in university days and Unity was fine, it was discreet, a thin bar at the top, a disappearing launcher on the side, a dash "search&narrow" style, the HUD wasn't bad for menus etc. Gnome SHell practically copied it while brilliantly managing to LOSE the only truly useful aspect of Unity: being there to serve the user discreetly. Where Unity was discreet, Gnome SHell is a secondary narcissist, trying to put itself at the center and minimizing the importance of the single window. KDE went off on a tangent from KDE4 onwards, becoming substantial bloatware. Simply put, there is no longer a desktop for the modern era because there is no understanding of what a desktop should be.
This must be a single application, fully moldable by the user, completely integrated. Emacs is that, the old Xerox workstations were that, the LispMs were that. We don't need containers that continue to sell packaged ignorance, resource waste, vulnerabilities. We don't need invasive and narcissistic GUIs. We need integration because we have a single mind with which we have fun, work, spend time, the same mind. So our computer exobrain must be one and not made in compartments or produced in competition with other products.
I want to link in my notes relevant emails, relevant RSS-fetched posts, relevant files, all without particular friction, because they have in common being information, generally textual. I want it to be copy-pasteable as needed. I want to be able to compose my UI in text with this becoming an active element where I want it. This is a desktop.
Not rigidity, limited and limiting narcissistic minimalism, not features visible to those who don't want them or absent for those who seek them. The desktop must be a PIM, a personal ERP, free and flexible like Emacs or simply be a relic of the past that won't be transformed from a relic into something modern by adding some graphical sugar. So my system must be declarative, not manually managed "containers" with holes punched everywhere to makes them usable.
Not at all, but I know most people can't even imagine a different desktop, just as they can't imagine a different society.
A silly example: in many countries, we're starting to have digital identity as a smart-card, digital signatures through them. Well, in these countries there are still many banks that waste enormous resources to open accounts for new clients with photographs of documents, that are smart-cards, and facial recognition, to replicate what used to be done in person by showing the document, normally inappropriately and unnecessarily photocopied, not realizing that a PDF contract signed PAdES by the bank, with the client's added PAdES signature, guarantees both the signed contract conditions, the signing date, and the customer identity, and remains with both parties hands with much greater simplicity and a far lower computational cost than doing video analysis of documents and faces.
This is a small but good example of how many are mentally incapable of evolving and therefore think that anyone who is, or who has done things differently, is crazy rather than someone who simply does things more efficiently.
I have colleagues (IT, sysadmin) who don't understand what happens on my screen when I give a presentation in org-mode; it seems like magic to them. Even after seeing demos like this https://youtu.be/u44X_th6_oY they stay where they are, thinking it's too complicated to change. They see how efficient it is but can't bring themselves to move from where they are.
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.
reply on default site