11 ms·
Niri convinced me to give up xmonad. I ran xmonad exclusively for 14 years. Being able to have an unlimited number of windows on a desktop (without continually
by argiopetech 1y ago
Niri convinced me to give up xmonad. I ran xmonad exclusively for 14 years.
Being able to have an unlimited number of windows on a desktop (without continually switching the tiling structure) makes them collections of topics rather than having multiple desktops bounded by what fits comfortably. What used to be a switch from the "editor and terminals" desktop to the "browser" desktop is now horizontal movement on the current desktop to the related browser window (general browsing is on a different desktop).
Really low barrier to entry, works great out of the box. There were some wayland teething issues (application support, e.g., no Zoom), but nothing that couldn't be overcome (occasionally by falling back to X). Most of those have been resolved with time.
Edits:
Hardware: 2017 System76 Bonobo WS, 2x GTX 1080, multiple screens (4k @ 2x scaling + 2 1080p). PopOS.
I'm running a 1-2 year old build of niri (because it isn't broken), so I've not experienced some of the fancier animations & etc. others dislike.
I consider cloning and building from source to be low barrier to entry if it doesn't involve major setup effort (it doesn't/didn't), so I may be biased. Caveat emptor.
- atlintots 1y agoNiri recently improved it's integration with xwayland-satellite, so it's easier to run programs that don't support wayland now: https://github.com/YaLTeR/niri/wiki/Xwayland https://github.com/YaLTeR/niri/wiki/Xwayland
- argiopetech 1y agoI'm still running an older version (ain't broke, won't fix), but I keep getting recommended the newer versions for features. I'll check them out eventually.
- silicon_laser 1y agocan you paste a link?
- argiopetech 1y agoI'm away from the computer at the moment, but I believe I'm on 0.1.3 [0]. Noting the release notes, it does have many animations already enabled (but I have some or all of them disabled through config). I'm not recommending anyone run this in favor of newer versions, but it's working for me. [0] https://github.com/YaLTeR/niri/releases/tag/v0.1.3 https://github.com/YaLTeR/niri/releases/tag/v0.1.3
- rjzzleep 1y agoWhat does xwayland-satellite do that normal xwayland doesn't ?
- argiopetech 1y agoThis is addressed on the linked page. Quote: We're using xwayland-satellite rather than Xwayland directly because X11 is very cursed. xwayland-satellite takes on the bulk of the work dealing with the X11 peculiarities from us, giving niri normal Wayland windows to manage. xwayland-satellite works well with most applications: Steam, games, Discord, even more exotic things like Ardour with wine Windows VST plugins. However, X11 apps that want to position windows or bars at specific screen coordinates won't behave correctly and will need a nested compositor to run. See sections below for how to do that.
- rjzzleep 1y agoKind of interesting about the X11 position issue, since that is exactly the issue that I have with Hyprland
- benoliver999 1y agoYes same here but with i3, I ran it for over 10 years but niri was just an instant 'aha' moment for me. I will say, recent builds have a 'mini map' sort of zoom-out feature that I quite like - my one critique of niri was that I would sometimes get 'lost'.
- ducktective 1y agoOne of the advantages of tilling wm are that every window that is run, is visible too. Nothing invisible exists. But in this "endless horizontal tilling" scheme, the above principle would no longer hold, right?
- atlintots 1y agoThat's true, you do end up with some windows hidden or partially visible. Niri is still tiling, though, so with proper management you can avoid making too much use of the infinite strip (though that would defeat the purpose of niri).
- argiopetech 1y agoThis seems like a good place to note the "center window" keybinding for windows that don't fit well in the screen (e.g., 2/3 wide pane next to 2/3 wide pane, or 1/3 pane on the right end of the stack next to a full-screen pane). Vastly preferable to having to look at the edge of the screen.
- russelg 1y agoThat typically isn't true in practice right? It's fairly common to have multiple "desktops" when using a tiling WM.
- ducktective 1y agoYes, still on each workspace, everything is visible on i3. I wonder how scroll to the right differs from i3's tabbed panes.
- ryukoposting 1y agoI've been using i3 for 7 years now, and my immediate response to the scrolling thing was "why?" and after reading your comment, I'm still trying to understand. As one would expect for any tiling wm, the screenshots only show how pretty it can be, and don't really illustrate how it helps with productivity. Would you mind going into more detail on what actually happens when you move horizontally? What happens when you have a fullscreen editor, then slide over to a half-screen browser? Do you only see half the editor, or does the editor get squished? One thing I desperately want is a tiling wm that is also a browser. Like if surf ran a practical engine and was more deeply integrated into dmenu.
- jgtrosh 1y agoThe WM has no job being the browser, but yes we should be able to run firefox without tabs like it's surf (and stop doing part of the WM's job). But you cannot practically do that.
- NoGravitas 1y ago> yes we should be able to run firefox without tabs like it's surf Can't you? You used to be able to show the tab bar only when there was more than one tab; I guess that has disappeared? You can do this: Put this code into your userChrome.css file: #tabbrowser-tabs .tabbrowser-tab:only-of-type, #tabbrowser-tabs .tabbrowser-tab:only-of-type + #tabbrowser-arrowscrollbox-periphery { display: none !important; } #tabbrowser-tabs, #tabbrowser-arrowscrollbox { min-height: 0 !important; }
- argiopetech 1y agoZen browser (which is derived from Firefox) does a really good job of making this the default (at the expense of mainly supporting vertical tab lists, which I've come to love).
- prmoustache 1y agojust open new windows instead of tabs. Or am I missing something?
- 1y ago
- WD-42 1y agoThe only thing I feel like is missing from niri is a scratch layer. There are some apps that just don’t need to be tiled and it’s nice to have access to them immediately no matter “where” you are. Perfect example is matrix client. If the wife texts me I want to become able to pop that sucker up immediately and reply, not find the “matrix client workspace”. Plus it’s tiny and doesn’t need to be tiled. Same with media players. Paperwm on gnome has this.
- atlintots 1y agoIn my case I've found niri's workflow quite nice for these scratch windows, since every new window opens to the immediate left of the currently focused window, and doesn't affect the size or tiling of any other windows, they're just shifted to the right.
- WD-42 1y agoThat only works for windows that you would be opening and closing, not persistent ones like chat apps or music players?
- cycomanic 1y agoMany of those apps minimise when closed and reopen when calling, so often it is not really an issue (although it's sometimes annoying that you have to specifically tell the apps to exit when you do want to close).
- NoGravitas 1y agoYeah, I have been wanting this. The way it works on Sway is "okay", but it would be nice to have a floating workspace that can be shown or hidden on top of whatever your active workspace is. The workaround most people are using seems to be a named workspace for scratch.
- argiopetech 1y agoI put those on the top or bottom desktop, but you could create a named workspace (scratch) and set up a keybinding to navigate to it.
- hagbard_c 1y agoI've been running Xmonad for about 16 years and, having read the description and watched the video think I will keep on doing so. It looks to me like the cognitive load of the horizontally scrolling strip is higher than that of the paged approach used by e.g. Xmonad just like it is a lot harder to locate a specific section in a vertically scrolling unpaged ream of text than in a paged book. Especially on pages with many windows - 10 terminals on page 1 is more or less standard, 2 large ones stacked in the middle flanked by 4 smaller ones on each side - I keep track of which terminal goes where based on (among others) location. This works because all 10 of them are visible at the same time, it would not work if the display only shows one or two of them at a time. Am I missing something or is this WM/compositor more suitable to smaller displays which can not show all that many windows at the same time? Of course I also use X11 so this thing would not work for me anyway.
- 1337shadow 1y agoWell it does look beautiful but I don't think I can go back to anything that's un-paged neither, after 17 years of dwm. Also, just watched a bit of an XMonad demo which reminded me how much I love the simplicity of dwm's tiling workflow based on having a master window per page (dwm's tag) because it completely removed the burden of window management for me with barely any configuration, I wonder how I'd do without it ... Probably going to try XMonad just to feel the difference, maybe I'll like it.
- cycomanic 1y agoWhat do you mean by un-paged? I just looked at dwm and I don't see that it has anything that other tiling wms don't have. Xmonad, i3, sway... all have workspaces/tags. Niri also has named workspaces, but when I switched to niri, I realised I only want named workspaces for very few things everything else is just temporary.
- STKFLT 1y ago> Am I missing something or is this WM/compositor more suitable to smaller displays which can not show all that many windows at the same time? IMO smaller screens are where it shines, but you can also vertically stack within a column in Niri for similar density compared to tiling if you want. > I keep track of which terminal goes where based on (among others) location. I think this is a pretty nice benefit of Niri actually, having a second dimension to work with makes it much easier for me to keep track of windows because I can reduce the total number of workspaces and instead rely in part of relative location to other windows without being forced to fit all of them completely on screen. When I don't need my full screen real estate I often set up splits so that a little bit of the offscreen window is still visible and it makes it effortless to remember whats there.
- colordrops 1y agoZoom works, it's just janky.
- beala 1y agoFor me, the appeal of i3/sway's model is that by having a desktop per topic (eg, one for browser, one for code, one for slack, etc) I can instantly jump to the topic I need with a single key press. The desktops I assign never change, so it's always Super+1 for my browser and Super+4 for Slack. It's all muscle memory, and I could do it in my sleep. When I jump to that desktop, everything is open and tiled. This was a revelation to me coming from MacOS, where I was constantly hunting for windows with Cmd+Tab or squinting at thumbnails in Mission Control. So I'm surprised to hear that you prefer Niri's scroll model, which to me sounds like hunting for windows all over again.
- Shebanator 1y agoNiri has named workspaces, each of which has a scrolling model. So you can achieve something very very close to what you want.
- aaplok 1y agoNot OP, but I typically only have 1–2 windows per workspace. I use tabs in both browser and terminal (eg via tmux). So it seems like niri's scrolling capabilities wouldn't bring much to my use case.
- likeclockwork 1y agoI don't think of the things you listed as "topics". Browser, code, slack, etc.. seem more like tasks or activities to me. I used to use i3 on a 49" super ultrawide monitor (32:9) and when I did each desktop was truly a topic, with a deep arrangement of windows on it and tabs to switch different areas over to different tasks. My primary interest in tiling window management is being able to see all of the things that I need to see at once, at once. For me, it's all about context-- placing related windows next to one another. It seems like for others it's about being able to switch between a limited set of fullscreen windows quickly. I like that Niri gives me a flexible way to divide my workspaces by topic without the windows stealing screen-space from each other. It doesn't feel much like hunting for windows, it feels like... a materialized view of alt+tab. Maybe I have a browser to the right of my editor and a terminal to the left. I can quickly shuffle back and forth between being able to edit while also seeing one or the other. I even have this binding to cycle the columns to the right of the active window: Mod+Tab hotkey-overlay-title="Cycle windows to the right" { spawn "fish" "-c" "niri msg action focus-column-right; niri msg action move-column-to-last; niri msg action focus-window-previous"; }
- pmarreck 1y agoNixOS will get you there (or anywhere, to any version, of any thing, and/or back again) just by pinning any conceivable package (and it has more than any other Linux distro) to a particular nixpkgs hash. I thought of this because it sounds like one of the reasons you're not upgrading it is fearing the risk of it fucking everything up and it being a pain to roll back (your "it ain't broke, so why fix it?" is a hallmark of that mentality). Well... I will never use another Linux distro for this specific reason. NixOS is the complete freedom to dip in, dip out, roll back on problems, try new things out, etc. The freedom to experiment, try it, back out if there's any issue... but with seatbelts, thanks to the declarative nature of everything (as well as being able to pick previous "instances" on boot). Afraid of Nix (the language)? LLM's make that trivial these days. For example, I just did something like this today: "Instead of using the one in nixpkgs, whose build has issues on my hardware, set up a derivation that uses its git repo and compiles that instead." A minute later, boom. Declarative working glory, forever.
- copper4eva 1y agoWhat LLM(s) do you use or recommend for nix?
- pmarreck 1y agoI've been using Claude and Codex and both are excellent; I imagine Gemini would be too. Likely Grok as well. They're all smart enough to be helpful at this point.