Niri – A scrollable-tiling Wayland compositor

(github.com)

461 points | by atlintots 2 days ago ago

216 comments

  • hamdouni 3 minutes ago ago

    I'm not a paper metaphore guy so I look at this with doubt : I'm more confident to remember that Super+3 shows my browser and Super+1 goes back to my "ide", than remembering that my wanted window is on the upper left of a giant virtual screen...

  • argiopetech 2 days ago 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 2 days ago ago

      Niri 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

      • argiopetech 2 days ago ago

        I'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 2 days ago ago

          can you paste a link?

          • argiopetech 2 days ago ago

            I'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

      • rjzzleep 2 days ago ago

        What does xwayland-satellite do that normal xwayland doesn't ?

        • argiopetech 2 days ago ago

          This 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 2 days ago ago

            Kind of interesting about the X11 position issue, since that is exactly the issue that I have with Hyprland

    • beala 2 days ago ago

      For 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.

      • likeclockwork a day ago ago

        I 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"; 
            }
      • Shebanator 2 days ago ago

        Niri has named workspaces, each of which has a scrolling model. So you can achieve something very very close to what you want.

        • aaplok a day ago ago

          Not 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.

    • benoliver999 2 days ago ago

      Yes 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'.

      • boomskats 2 days ago ago

        I drew that once in a github issue and next thing I knew it was there! https://github.com/YaLTeR/niri/discussions/352#discussioncom...

      • ducktective 2 days ago ago

        One 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?

        • russelg 2 days ago ago

          That typically isn't true in practice right? It's fairly common to have multiple "desktops" when using a tiling WM.

          • ducktective 2 days ago ago

            Yes, still on each workspace, everything is visible on i3. I wonder how scroll to the right differs from i3's tabbed panes.

            • squigz 2 days ago ago

              I might give Niri a shot at some point, but yes, this is my thought too: this is more or less the same as having multiple tabbed panes, which enables the grouping GP refers to.

              • cycomanic 2 days ago ago

                I was running i3 and sway foe years and tabbed tiles never really clicked for me the same way scrolling did. The first time I used a scrolling WM (I tried on of the plugins for sway or hyprland IIRC) it was an immediate revelation. However the sway/hyprland version were always a bit quirky, while niri "just works".

                For those on older niri versions I have to say the "zoom out" overview feature is definitely worth the upgrade. As another poster said it really fixes the one issue on scrolling/ tiling wms, which is getting lost.

        • argiopetech 2 days ago ago

          Newly started applications receive focus, so they're visible by default. They are inserted right of the current view, so recovering the previous active pane is consistent ("left pane" keybinding, or the appropriate gesture).

          Things on other desktops are invisible in every WM.

          The only difference with niri is the possibility for things to be left or right of the current window. Overview helps with that, but I know what I expect to be on a specific desktop (it's related to the topic) and seldom need it.

          • ducktective 2 days ago ago

            Like imagine editor is on ws2, you open a terminal to /tmp/ to check something quick, it scrolls to the right, then jump to ws3 for your file manager and other stuff and go back to your editor.

            Now you want to access that terminal on /tmp/ again. Where was it?

            In i3, I just spam-switch workspaces in this case, but at least I can find them. With scrollable wms, every ws can potentially hold that target app.

            • argiopetech 2 days ago ago

              It's right of your editor, where it started.

              If you have (having had "Editor" focused, and just opened "TermT"):

                Editor | (TermT) | Term | Browser
                (FM) | Term | Browser | etc.
              
              (where pipe delimits a pane and parens are the active pane), if you go "next desktop" from "TermT" (the terminal at /tmp), that moves you down the stack of desktops. Moving up the stack of desktops returns with focus on "TermT". You'd then go "left pane" from "TermT" to get back to the editor.

              The answer (for me) is to think of desktops as topics. The terminal on /tmp is with the things that prompted its creation. If I needed to check some log output, for example, it's with the project that made that log output.

              Edit: Note that there's nothing keeping you from stacking those terms if you like, i.e., the appropriate keybinding goes from the previous to

                Editor | (TermT), Term | Browser
                (FM) | Term | Browser | etc.
              
              where the terms stack vertically in the ribbon of the desktop.
              • bisby 2 days ago ago

                I think they aren't referring to "where does it go?" and more being forgetful.

                If you have something that would be reasonable to open on any workspace because it's ephemeral (they used a tmp terminal as an example), and you open it, navigate away from it, and then switch workspaces a few time, and then get pulled into a meeting or go to lunch, and come back, switch workspaces a few more times...

                "Where did I leave that terminal, I dont remember where I was when I opened it."

                In i3wm/sway etc, you can cycle all your workspaces and eventually one of them will have it visible. On Niri, as you cycle through all your workspaces you may never see it because you don't see all the windows in a workspace, unless you scroll through the workspace panes as you cycle workspaces.

                It's not a problem necessarily, but it is something to consider. It sounds like this doesn't affect your workflow, but it might affect others.

        • WhyNotHugo 2 days ago ago

          Tiling window managers have tabs, so not all windows are visible.

          You can see window titles on the tabs on the tab bar, but you can’t even see the title of windows which are in a split container of a background tab.

        • atlintots 2 days ago ago

          That'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 2 days ago ago

            This 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.

        • carlhjerpe 2 days ago ago

          No, because every tiling WM has multiple workspaces.

          But yes, that wouldn't be true, though focus moves to fresh windows so it's not an issue.

    • WD-42 2 days ago ago

      The 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.

      • ibizaman 2 days ago ago

        Would this scratch your itch? https://github.com/probeldev/niri-float-sticky

        I didn’t try it myself though. I found it while scrolling https://github.com/Vortriz/awesome-niri

        • WD-42 2 days ago ago

          Dang that’s a nice list

      • NoGravitas 2 days ago ago

        Yeah, 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.

      • atlintots 2 days ago ago

        In 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 2 days ago ago

          That only works for windows that you would be opening and closing, not persistent ones like chat apps or music players?

          • cycomanic 2 days ago ago

            Many 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).

      • argiopetech 2 days ago ago

        I 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.

      • colordrops 2 days ago ago

        Named workspaces bound to specific key combos does that.

    • ryukoposting 2 days ago ago

      I'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.

      • cycomanic 2 days ago ago

        I was using i3/sway for years previously as well (and some awesome, qtile before that). The big difference is window size.

        Generally I believe most people like to order their workspacesroughly by topic, e.g. all work related Windows on one, browser or on another, some also do all terminals on one... Now with sway/i3 I often found myself in the situation where I was e.g. on the "browser" desktop and you read something you quickly want to try in, e.g. ipython, or you are working on a latex document and want to briefly open a PDF. In i3 that would reduce the size of your original window, so you end up switching to a workspace (or you manually switch to tabbed tiling) for me the mental overhead was significantly higher and I was ending up creating more and more workspaces just to hold temporary terminals.

        This is actually related to why I switched to i3 in the first place, I just felt vertical tiling is the only tiling that makes sense in 95% of the cases and that just worked best in i3. But that comes at the cost that you are limited to only 3-4 tiles per workspace (depending on screensize) now in niri I have infinite theoretically. Which means I spend less mental overhead when I want to open another window (which is really thebgoal of tiling wms in my opinion, reduce thinking spend on window management)

        • ryukoposting 2 days ago ago

          Thank you for the explanation! Between your explanation and a Youtube video I found of someone using it, I think have a grip on the "why" now. Interestingly, it seems like I might use i3 a little differently than you did. A single working context for me can span many desktops, and I just work in a way that keeps my number of concurrent working contexts low. I only ever have 1-2 programs on any given desktop, and even 2 is unusual. I keep every window in tabbed mode. When I need a scratch "thing" (nautilus, terminal, localc, whatever) it opens as a new tab. If I need it side-by-side with that desktop's primary window, I pop it out using mod4+shift+left/right. This accomplishes a similar thing to that Niri is getting you, just with different ergonomics. It probably helps that I have good habits around closing unused tabs / programs.

          • cycomanic 2 days ago ago

            Yes it seems like you're using i3 quite differently. I agree that if you good discipline about opening and closing windows in the right workspace/tile i3 can give you a more structured layout. I just found for myself even if I tried I could not keep the discipline up (I doesn't help that I often work on several things at the same time).

            I think that's the beauty of tiling WMs (and I consider scrolling WMs a subset), you can really adjust them to suit your work flow even if work flows might be very different. In contrast stacking WMs seem to be more a lowest common denominator type thing. They work with every workflow, but suboptimal.

      • argiopetech 2 days ago ago

        Re. pane size, it's normal tiling behavior. Panes can be take the full screen or some percentage (I like 1/2, 2/3, and 1/3). If the widths add to 1, both panes fill the screen.

        If the widths don't add to 1, there are two possible behaviors (configurable). Either the newly focused pane adheres to the size of the screen (e.g., scroll right from the full screen editor and the half-screen browser is on the right border with half the editor visible), or the newly focused pane centers on the screen. I prefer the first behavior, but I make significant use of the "center pane" keybinding.

        The Video Demo section in the README gives a pretty good demonstration of this behavior in the first 10-15 seconds.

        Edit: To add to this thought and address some comments elsewhere about losing windows, I use "struts", which show P pixels of the panes to the left and right (when they exist) of the current view as a visual aid/reminder of where I am in the ribbon. These reduce the size of the tiled section of the screen and the calculation of pane size accordingly.

      • jgtrosh 2 days ago ago

        The 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 2 days ago 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 2 days ago ago

          Zen 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 2 days ago ago

          just open new windows instead of tabs. Or am I missing something?

    • pmarreck a day ago ago

      NixOS 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.

    • hagbard_c 2 days ago ago

      I'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.

      • STKFLT a day ago 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.

      • 1337shadow 2 days ago ago

        Well 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 2 days ago ago

          What 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.

    • colordrops 2 days ago ago

      Zoom works, it's just janky.

  • jzb 2 days ago ago

    I've been running niri for months now on my primary desktop, I wrote about it for LWN here: https://lwn.net/Articles/1025866/

    "Normal" tiling WMs / compositors just don't work for me, but the tiling model does. Before niri, I used PaperWM and GNOME -- but a GNOME extension can only do so much. I wish the folks doing COSMIC would add scrollable tiling, but unless/until they do I'll probably stick with niri.

    • detectd 2 days ago ago

      I wouldn't be surprised if the COSMIC folks add it after the 1.0 release. There's been a lot of feature requests for it. In the mean time, a System76 employee created this unofficial extension to let you use other compositors within COSMIC, including Niri.

      https://github.com/Drakulix/cosmic-ext-extra-sessions

    • chrchr 2 days ago ago

      I also switched from PaperWM to niri, and I was reluctant to do it, because I really liked not having to configure several different little apps to get a working desktop environment. GNOME comes out of the box with an app launcher, a basic configuration editor, a screen locker, widgets for controlling audio and network, etc. But ultimately, PaperWM was too quirky. For example, sometimes PaperWM and an app would disagree about what size the app's window should be, and the window would resize itself repeatedly. The vertical sizing never worked very well either.

    • nylonstrung 2 days ago ago

      Cosmic with tiling would be so incredible. I love cosmic and that's the one thing I'm missing

      • zem 2 days ago ago

        cosmic has tiling! that's the main reason i'm using it

    • rirze 2 days ago ago

      Thanks, I wanted to know the difference with COSMIC

  • baq 2 days ago ago

    I'm basically fullscreen with everything all the time on macos, but not in the super-duper-fullscreen mode so cmd-tab/cmd-` works predictably. I want this on macos. I know I can't have it on macos. I also can't switch to Linux since macos is mandated by my employer.

    Nothing really to take out of it except that I feel like I'm not alone feeling stuck, knowing there are better workflows and not being able to do anything about it.

    • arendtio 4 hours ago ago

      If there is one thing about macOS that really sucks, it is the window management. I have been using it for three months now and still don't understand how to use it.

      It is not that I am inexperienced (Windows 95/98/2k/XP/Vista/7/8/10/11, Linux with all kinds of Desktops over the years (KDE 2/3/4/5/6, Gnome 2/3, Sway, Unity, XFCE, Enlightenment, blackbox, ...)), or that I didn't try (searched, watched several YouTube tutorials). I also tried different options, such as disabling the entire "Displays have separate spaces" feature (it fixes some cases, but others worsen).

      My verdict is simple: They would be better off just adopting the dumb Microsoft Windows 95 approach to window management.

      And it isn't that I don't like the system overall. I have never had a laptop with such superb performance, and at the same time, it stays cool as ice and silent. I love the animated video backgrounds on the lock screen with the slowdown on login, and having Zsh as the default is also fun. But the window management...

    • bsnnkv 2 days ago ago

      I've been working on porting komorebi to macOS[1] over the past month and the scrolling layout[2] works pretty well

      It (the scrolling layout) is not exactly the same as Niri because the implementation is based on my personal preferences, but it does what it's supposed to on both platforms

      [1]: https://youtu.be/u3eJcsa_MJk?si=jSbDsAdLWQu0k1lZ

      [2]: https://youtu.be/b1yECfF7Qyg?si=VXMbQo0RqtdzuDjG

    • WhyNotHugo 2 days ago ago

      > I know I can't have it on macos. I also can't switch to Linux since macos is mandated by my employer.

      I’ve had two employers with dumb rules like this and I just worked on a Linux VM running fullscreen on all monitors. It was technically macOS, so IT didn’t have any issues, and it still ran all the security stuff that my employer wanted. At one job, my manager even provisioned a VMWare license for this.

    • sotix 2 days ago ago

      Aerospace[0] is by far the best window manager I've come across for Mac.

      [0]: https://github.com/nikitabobko/AeroSpace

      • sprinkly-dust 2 days ago ago

        Seconding this, I've used alternatives like Amethyst, and I can't disable S.I.P for yabai, but Aerospace fills in that missing aspect from Linux when I am in want of it.

    • iLemming 2 days ago ago

      I use Yabai on Mac for a WM - it works great with my big screen, but I haven't figured out a good workflow for when I need to use just the laptop, then it becomes a bunch of spaces with one or two windows in each.

    • i_am_proteus 2 days ago ago

      You are not alone.

      • anotherpaul 2 days ago ago

        +1 Fullscreen Mac os but not the "Mac full screen" but normal full screen.

    • f311a 2 days ago ago

      Try flashspace. It's a perfect solution when running apps full screen. You just bind your workspaces to keys and they switch instantly. Without any animations.

    • wrsh07 2 days ago ago

      I'm pretty much the same fwiw I currently use stage manager and double click the top bar of the window to maximize (that's different than the green button)

      • Gabrys1 2 days ago ago

        don't you just love how many ways of going full screen there are in macOS

        • wongogue 2 days ago ago

          Maximizing and Fullscreening are different modes in all operating systems.

          I use Niri and it has 3:

          1. Use all width (windows are full height by default) and display system bar

          2. Use the entire screen and hide the system bar

          3. Same as 1 but make the app believe that it’s in Mode 2

      • f311a 2 days ago ago

        Give flashspace a try.

    • antonyh 2 days ago ago

      I hate that I have to hold option everytime I maximise a window. All I want is to change the default to stretch windows and not use the fullscreen mode at all because of the other weirdness it brings.

      • Philip-J-Fry 2 days ago ago

        Just double click the top of the window? If I'm understanding right, that's what you want. I only ever double click windows on both Mac and Windows.

        • diggan 2 days ago ago

          Was long time ago I used macOS in any professional capacity, but doesn't it just maximize the height of the window, not the width? I seem to recall some UX like that, but might have been a different action/button.

          • skydhash 2 days ago ago

            Mac has a weird windows models based on contents, not the display. So the content can “suggest” maximum and minimum size when you double click the title bar. it fits within the document model (windows are tied to documents while the application oversees things, which is why the menus are global and closing a window does not exit the software).

            • emaro 2 days ago ago

              Thanks for the insight. I have never thought about it that way and it explains the weird behaviors you mentioned and also why it works well for people who do mostly office stuff. As a dev, I heavily use browser, editor and terminal, which don't map as well to the document model.

          • Philip-J-Fry 2 days ago ago

            It's the same behaviour as Option + Maximize. Finder for example, that grows taller. Terminal for example, that goes full screen. My browser also goes full screen.

            Seems like the app decides what the behaviour is. But the point being it's the same behaviour as the Option + Maximize.

          • antonyh 2 days ago ago

            Yeah, that it does but I quite like the way it gets taller but keeps the width.

        • antonyh 2 days ago ago

          Never tried a double click, thanks!

      • baq 2 days ago ago

        Rectangle's ctrl-opt-return has been a lifesaver

      • dheera 2 days ago ago

        Just switch to Linux ... In Gnome just hit Windows+Right or Windows+Left it does exactly what you want. Install some Gnome plugins if you want 2x2 or 3x2 or other custom tiling.

        I genuinely don't get why so many devs use MacOS when Linux is already set up for devs, and the stuff you run in the cloud will also run locally with 1/100 the SSH keyboard latency.

        • atlintots 2 days ago ago

          Very often it's not a choice, a lot of companies only let developers choose between Windows or MacOS laptops for work.

          • dheera 2 days ago ago

            Sure, but I see a lot of devs who have MacOS as their personal laptop and then complain about something in MacOS that is a non-issue in Linux.

    • gedy 2 days ago ago

      You might try Hammerspoon[0] with PaperWM.spoon[1] on macOS. This is what I use, and while it has quirks, it works better than not having it.

      [0] https://www.hammerspoon.org/ [1] https://github.com/mogenson/PaperWM.spoon

      • tom_ 2 days ago ago

        Hammerspoon is quite easy to use, so attempting to cobble together your own thing (that does exactly what you want) might also be feasible. The documentation is decent and the iteration time is short.

        It took me about 30 minutes to replicate some Windows/AutoHotKey crap that I wrote myself and have been using for years, and it wasn't painful.

      • incanus77 2 days ago ago

        It’s nice, but it doesn’t support things like Safari tabs properly.

        • gedy 2 days ago ago

          Yeah the tabs is biggest issue

    • exasperaited 2 days ago ago

      I love the full-fullscreen mode for things like VSCode and FreeCAD on my 13" MBP. Never have a real issue with alt-tab though I must say I do end up paying attention to it more when I am switching between three windows and not in a cyle.

      I have tried to get this in KDE Plasma 6 (with a global menu bar) and you just can't quite get there, so you have to settle for maximised but not full-screen apps, which is annoying.

      I understand the difference and the architectural history that is that "full-screen" on X/Wayland is essentially a kiosk/don't-interrupt-my-game mode, whereas on the Mac it is chromeless windows on a virtual desktop that you can't get stuck in if you forget the restore keystroke.

      But it frustrates me I can't get that.

    • subjectsigma 2 days ago ago
    • ktosobcy 2 days ago ago

      Hmm... what do you mean "predictable"?

      For me cmd+tab / cmd+` works brilianty - switching to last used app/window-of-the-app

  • carlhjerpe 2 days ago ago

    Niri is currently being "hugged to death", if you want to contribute: Donate to Ivan or review others PRs before making your own, the project has no commercial backing and he's "overloaded" by the projects recent success.

    I've been using it for years now and it's obvious that Smithay and Niri are high-quality projects, I haven't had any issues other than missing features (more of which has become available over time).

    • rendaw 2 days ago ago

      How much does random people reviewing other people's PRs help in practice?

      As a maintainer I'd still want to review PRs myself before merging, no matter how many random people did it before me.

      As a contributor, I'd hate for a random with shallow understanding of the problem/project to come in and tell me I had to change stuff or say my PR's no good, in the chance that the maintainer is easily influenced by strong internet opinions.

      • carlhjerpe 2 days ago ago

        Drive-by contributions of all kinds suck for the most part, don't contribute if you're not going to do it properly. At some point there's got to be more than one person able to review PRs (if the project scope mandates it).

        Linus Torvalds doesn't review all changes he merges, how do you become a comaintainer if not assisting with maintenance?

        If you can't review, don't make a PR (or something).

    • knoopx 2 days ago ago

      I second this, if you are daily niri user, show your appreciation, I already did! Here's my personal setup, hope it inspires someone to try it https://github.com/knoopx/nix

    • 3abiton a day ago ago

      As a hyprland user, why should I switch to Niri? Is the appeal based on the "inifinite windows" feature

      • Shebanator a day ago ago

        I don't think its for everyone, the paper metaphor either works for you or it doesn't.

        That said, the other big benefit for me is it breaks a lot less often than hyprland and its ecosystem seems to (and I don't just mean bugs here, I also mean things like config file format changes). And this isn't a slam on hyprland - I was only ever mildly annoyed by its breakage.

      • carlhjerpe a day ago ago

        "written on rust" is one pro, the other is the native scrolling thing, I appreciate workspaces with a bit of leeway. If you're already on hyprland it'll be an easy switch

    • squigz 2 days ago ago
  • nickjj 2 days ago ago

    One thing that was holding me back from trying Niri is its configuration was limited to 1 file with no way to override or include additional configs which is quite important IMO for having 1 main config that you slightly change on different devices if you want to make your dotfiles public. For example you can have gitignored "local" files on each device to handle overrides.

    Just the other day the author merged 2 PRs to handle both use cases https://github.com/YaLTeR/niri/pull/2482.

    It's not in a release yet but hopefully soon.

    • atlintots 2 days ago ago

      Yes, this feature had been in the works for quite a bit since it required non-trivial changes to do it "the right way". Very excited to see these changes merged finally!

  • isopede 2 days ago ago

    Somebody sell me on these newfangled tiling WMs. I have been using basically the same xmonad configuration for 15+ years, pretty much updating it only on breaking or deprecated changes. What do all these new Wayland compositors have to offer except "tiling, but for wayland?"

    Does Wayland actually work now? I've tried it every few years for over a decade now and every time I ran into showstopper bugs (usually on nvidia cards).

    • diggan 2 days ago ago

      Nvidia + Arch + Gnome3 + Wayland user here. I've tried Wayland on/off for the last couple of years, and made the switch I think late last year sometimes once I stopped seeing very obvious bugs/issues. Just about everything works fine nowadays in my experience.

      Mostly made the switch because Wayland seems to run a lot smoother and efficient, especially when it came to Firefox for some reason.

    • t_mahmood a day ago ago

      On Gnome + NVIDIA (RTX 2080) + Wayland + 3 Monitors [1DP 4K, 2HDMI (2K, FHD)]

      Every time I try it, I am really impressed with the smoothness! But every time, two issues come up, which most likely due to NVIDIA, which are complete showstopper.

      1. After inactivity period, monitors turns off. When I resume, one monitor won't come back up. I have to deactivate it on control panel, and cancel to get it back. Doing it many times a day, is extremely annoying. This does not happen on two monitors.

      2. Monitors won't turn off ... yeah, after inactivity period the monitor's blanks, but, briefly turns off, and then turns back on. And then never turns off. This mostly happens after playing games.

      I think both of the issues are due to NVIDIA.

      Otherwise, Wayland has become really solid.

      Using i3 now, it's not much, it's boring, and that's a good thing.

    • spookie 2 days ago ago

      Be careful. There are still showstoppers in wayland implementations, if you do anything that isn't common for a Linux user. Example: I am still unable to change the orientation of my drawing tablet.

      There are many like this. It mostly works, but it isn't as flawless as just using X11 (unless we are talking about displays and stuff).

      Nvidia works since driver 570.

      (Edit: grammar and Nvidia note)

      • OtomotO 2 days ago ago

        Oh weird, I never had a problem like that with my drawing tablet, but then again I dumped Nvidia in 2011 when I switched to archlinux fulltime and had to fix my install twice because of the drivers not being compatible with the latest kernel.

        What I still miss is stuff like browser docks in OBS and such things that just work in X but are being dragged on for multiple years to be supported on Wayland now (CEF thing though)

    • jzb 2 days ago ago

      I think "tried it on _what_?" is the question -- which distribution, etc.? I've been using Wayland on Fedora for years and don't have any complaints. My primary laptop/desktop has an Intel graphics chipset, but I've tested it on laptops w/NVIDIA and not had problems.

      • isopede 2 days ago ago

        It's been a few years since I last looked at it, but I've tried daily running it probably 4 or 5 times over the last 15 years. Usually on Arch, but also some Debian/Ubuntu-based distros. It's fuzzy now but I've tried probably every NVIDIA GPU generation since the GTX 500 series.

        I can't remember all the bugs, but I've definitely at least encountered all flavors of flickering bugs, stale updates, GPU crashes, failed copy and paste, failed screenshares, failed videoconferences...

        From comments on this thread, it sounds like things have drastically improved and its probably time to take another look.

        • LeFantome a day ago ago

          The version of NVIDIA drivers that Debian ships with lacks explicit sync even now. Pretty much every other distro should work though.

    • argiopetech 2 days ago ago

      In the same boat with you. Not quite the same configuration (some version change issues, lost it once in an 'rm' accident that followed a symlink to / [I learned that day...] and had to start from scratch, rewrote for fun once), but my sole desktop from '09 to '23 when I switched to Niri. My reasoning here: https://news.ycombinator.com/item?id=45462034

      This was on my Bonobo WS (PopOS) w/ 2x NVidia GTX 1080s, multiple screens (2 1080p, 1 4k at 2x scaling), etc. No issues other than app support.

      Highly recommend trying it. Very low barrier to entry.

    • mrweasel 2 days ago ago

      KDE, Gnome and others obviously do provide stacking windows, but you do get the impression that writing a stacking window manager/compositor is just extremely hard to do with Wayland. Someone is maintaining a list of compositors[1] and there do seem to be a number of stacking ones, they just don't really get much attention.

      1) https://www.gilesorr.com/wm/table.html

      • wongogue 2 days ago ago

        The audience of stacking wms is mainly serviced by the desktop environements. Both Gnome and Plasma are bigger than everything else combined.

    • kaffekaka 2 days ago ago

      I just setup Asus Rog G14 with nvidia 3060, I was skeptical against Wayland but basically got it working straight away with only setting drm.modeset (thanks chatgpt?).

      So two external monitors working, except if they are daisy chained I am logged out when (dis)connecting them. So I use one hdmi and one dp over usb-c and it works.

      So, not 100% but works better than X for me. Still too recent to have seen all the edge cases though.

    • christophilus 2 days ago ago

      This is a scrolling WM (not tiling). I've been using it as my daily driver for over a year now, and it's awesome. I never liked tiling WMs because I do a lot of web work, and I often want a large code editor and a large browser window and a few terminals open. I don't like having stuff scrunched into a little rectangle, but I do like having all of that related stuff grouped in a single workspace. This works perfectly with Niri. I can keep my editor in the center, a peek of my browser to the right and a peek of my terminal to the left, and easily flip between them, resize, stack, etc.

      I know it doesn't sound all that interesting, but once I used it for a while, I just couldn't go back.

    • vergessenmir 2 days ago ago

      See my comment above (moved from i3wm) but my spec is

      RTX 3090, Pop OS 24.04 (beta), 4K 43" Monitor,

      Nvidia cards worked out the box with no problems

  • lhl 2 days ago ago

    I'd previously been giving Hyprland a try, but after lots of customization work, there were still a bunch of things I wasn't happy with and ended back on GNOME as a "just let me get work done" thing (I use multiple workspaces, have always have dozens or hundreds of browser windows open, depend on a bunch tray extensions). That being said, GNOME just updated versions and broke all my extensions again so I've decided to recommit to work on fixing anything that isn't working for my workflow and ditching GNOME forever (I was previously much happier on Openbox, but well, Wayland).

    With this latest go I gave River, QTile, and Niri a try. After a bit of swapping back and forth, I've settled on Niri and am slowly adding functionality I'm missing.

    - I like multiple dynamic workspaces (grouped by function) and don't see much point beyond a split or two so Niri worked pretty well, and I was able to largely config all the keyboard shortcuts to something that made sense to me

    - I'm using waybar and swaync for my other DE bits

    I've also been using long running Claude Code/Codex in a workspace to build a number of custom scripts:

    - niri-workspaces - dynamically generate a workspace display on my waybar showing windows, activity

    - niri-workspace-names - integrate w/ fuzzel to let me rename workpaces

    - niri-alttab - getting app cycling working in a way that makes sense to me, this is a larger project probably if I want live thumbnails and the like

    - niri-terminal-below - I often want to have a new vertical terminal split and it's a bit hacky but works (have to punch out a new terminal, then bring it below, and move back if on the right side)

    I haven't gone through all the docs, done much looking around, but one nice thing with these new coding agents is that they can just go and do a passable job to tweak as I want.

  • prein 2 days ago ago

    I switched from i3 to Niri a couple weeks ago, and I've been super happy with it.

    Niri feels like it lines up more naturally with the way I tend to use windows and workspaces. I'm working on one project per workspace, opening an occasional ephermeral terminal window or web browser to the right when I need to reference something or run a quick command. My other windows in the workspace aren't altered by these new ones, no reflow happens, and then I can close it when done.

    My only problem with Niri is that now I really want an Ultrawide monitor.

    • kenanfyi 2 days ago ago

      I have a 49” monitor and tried Niri for a while. I had some issues regarding Wayland, I believe because of Nvidia and stopped using it. I could probably solve them, but I have been using X since years and I don’t feel switching right now.

      Anyway, for that short amount of time I liked most of it on my ultrawide monitor. Except when you open just one application, it stays on the left-most part naturally and it honestly sucks to look at. I have no idea if I could modify the settings to launch apps with an offset and eventually occupy the complete screen estate. I‘m planning to build a new AMD machine and will try Wayland compositors again for a longer period of time. Niri is my first candidate.

      • christophilus 2 days ago ago

        You can. You can also center them by default, or toggle centering via keyboard shortcut, etc. it’s pretty flexible.

  • sasvari 2 days ago ago

    In that context:

    https://github.com/dawsers/scroll

    niri concept implemented in sway.

  • vergessenmir 2 days ago ago

    Moved onto Niri yesterday after having to reinstall my PopOS and it just clicked. Like i3wm did all those years ago.

    I can focus for hours on end and spend zero mental energy on resizing a window. I had less of that with i3wm but you had to always readjust after a few windows were tiled to your workspace. That final bit of cognitive overload was removed with Niri.

    EDIT: Spec: RTX 3090, Pop OS 24.04 (beta), 4K 43" Monitor,

    Niri Installed from cargo build, super easy install, make sure you install xwayland-satellite so that you can run VS Code, Obsidian, Zoom, Blender and other strictly X11 applications

  • evgpbfhnr 2 days ago ago

    My only complain about niri is that after a few weeks without reboot I end up with ~500 terms open, as I often open a new shell to check something, get distracted, and forget about it as it scrolls out of the view... (I usually notice at the 400-500 mark because this machine starts swapping noticeably, and closing it all is a chore that usually ends in pkill without checking...)

    Maybe a bit more self discipline would help :)

    • jpeeler 2 days ago ago

      Wouldn't you have the same problem with changing workspaces? Sounds like you can't keep track of anything not currently present on the screen, which before the overview was a lot harder to deal with. One thing that could help is to create a "temporary terminal" keybinding to launch in floating mode so you'll never forget to close it. Or create a focus-or-launch bind that switches to an existing terminal (tools like Nirius can help minimize scripting). The other thing that may help is adjusting your struts so you can see that windows exist to the left or the right. More of general workflow tip than one related to just terminals.

      • evgpbfhnr 2 days ago ago

        Yes and no; the difference with workspace is that I was limited to 0-9 with my old wm, so at some point I'd just run out of space and had to close some windows. (well, that, and X11 is apparently limited to 256 clients by default and I never changed that; but I rarely hit that limit :P)

        I do have some struts on the side, but I'm basically always juggling with at least 4 or 5 tasks so I always have things open; (I'm not using any right now but I do like the "quake terminals" temporary term styles... But for the same reason it's not always appropriate -- if I didn't close the term, it's because I wasn't done with it and mean to get back to it...)

        I started using niri before the overview, I think that could help if I get used to it. But better than overview, what I'd want is something always visible like some horizontal scrollbar indicator to remind me there's e.g. more than 3 windows hidden or something. That might be possible to do with waybar and a bit of glue parsing the windows list...

        • wongogue 2 days ago ago

          The latest release exposes information about windows list and positions via API. Someone can write a widget for waybar or any other bar.

          • evgpbfhnr a day ago ago

            Oh! That didn't exist a few months ago, I need to update and do this then :D

    • noisy_boy 2 days ago ago

      I don't use niri but I worked around this problem (feature?) by creating a bash script that by default checks if a terminal is already open and if so, brings it into focus. Then I attach it to my default shortcut to open terminal and then create one more shortcut that opens a new terminal every time. So now, depending on which shortcut is pressed, I can either keep reusing the existing terminal or open a new one. I'm sure we can have a script that can do more fancy logic like allowing new terminals upto a given number and after that just bring the latest one into focus. Plenty of possibilities.

      • evgpbfhnr 2 days ago ago

        I have a script that allows searching for windows based on title; so e.g. if I know I had a shell open in directory X I could search for that and jump to it... But in practice I quickly have 5+ shells in a directory once I start working on something and at this point my script doesn't let me differentiate between these easily enough to be useful.

        Hmm, perhaps that could be made more interactive and allow cycling through these without closing the search overlay... I'll give that a try! :)

    • adrianmonk a day ago ago

      I guess you could do this:

          echo "TMOUT=$(units -t '7 days' seconds)" >> .bashrc
      
      If a shell has been sitting at the prompt for 7 days with no input, it's probably OK for it to close. I'm sure it'll be wrong sometimes, but it seems less bad than pkill en masse.
    • desireco42 2 days ago ago

      that is actually dream come true... let's keep everything open always :)

      • amlib 2 days ago ago

        and then you reboot the machine with full session restore working (whenever that's available for wayland) and get 500 terminal windows opening at the same time :)

        • desireco42 2 days ago ago

          This is what we all want, to be in control. I am OK to make a mess sometimes as long as it is my mess not because of magical system. So yeah I would be OK.

          Some kind of alert task that would tell you you have window open that you didn't visit in days would probably also be useful to your point.

          I am not against it, just I can see positives in this. This is like tmux without tmux.

          • amlib a day ago ago

            Oh, i actually agree with you, I was more concerned about the suprise abd amusement of seeing that amount of windows pop up out of nowhere. Though, I do wonder how well a linux computer will deal with so much forking, if it freezes the machine for a minute it would be rather bad, but maybe linux and wayland are mature enough to not freeze and spawn all that in like a second or so

  • Outnumber7855 2 days ago ago

    Finally Niri getting the love it deserves! It's way better than Hyprland in terms of performance and stability. The code is much easier to read too (Rust vs CPP).

  • stephen 2 days ago ago

    I want to use/try Niri, but have been staying on Hyprland from my safety blanket of Omarchy [1], and really liking its hyprscrolling plugin:

    https://github.com/hyprwm/hyprland-plugins/tree/main/hyprscr...

    Imo Hyprland should merge this hyprscrolling plugin into the main project, and just ship it as the default (only?) layout option -- it just scales to "more than 4 windows" so much better than either of Hyprland's master/dwindle layouts.

    [1] I tried vanilla arch + archinstall + sway/niri/etc but really couldn't make it work from scratch, vs. the contrast of Omarchy which was "wow this all works" :shrug:

  • uberduper 2 days ago ago

    Niri convinced me Scrolling is The Way.

    I really want windows to be able to span columns. So if I have 1 column with two windows and focus on the bottom window then create a new window/column to the right, I want that new window to be on the bottom half of column 2. I want the window from the top of column 1 to stretch across columns 1 and 2. If I again create another window/column to the right, that top left window should stretch across columns 1-3. So I should have one very wide window across the top of the screen and 3 windows across the bottom.

    I've started playing with this idea in the hyprland hyprscrolling plugin but I'm kind of an idiot and don't have much free time these days.

  • hackerInnen 2 days ago ago

    Why all the animations? Not only for this WM, but hyprland, too, for example. They are just way too distracting, I don't understand why people like them.

    Yes, i know they can usually be deactivated, but it's stupid to have them as default

    • diggan 2 days ago ago

      Better that they're there so they can be disabled, rather than not there any no one gets any choice?

      My pet-peeve is slow animations, as animations can help my eyes/attention to navigate to/from areas of the screen, but when they're too slow, it's just so damn frustrating that I prefer them off. But smooth, fast (nearly invisible) and clean animations seems to help me navigate better/focus faster than just being eye-candy.

    • prein 2 days ago ago

      I used to feel the same way, but I found that I like the animations in Niri. It helps me to keep a mental model of where everything is located in the infinite strip.

      I did change the settings to speed them up significantly, which I think is a good middle ground.

      • benoliver999 2 days ago ago

        I notice that with niri even people who have never seen tiling WMs instantly 'get' it. I think the animations are a large part of that.

    • talim 2 days ago ago

      I usually turn off animations in most applications and WMs, but they seem to functionally benefit this window management style to help the user orient and recognize where things are relative to each other.

      Before Niri I used PaperWM on Gnome with animations disabled and I found that it actually substantially reduces the usability of this sort of workflow for me. I'm not sure how to phrase it, but scrolling WMs feel a little more "physically grounded" and without the animations it was somewhat easy to become briefly disoriented whenever scrolling/opening/resizing/rearranging windows, at least once you start having 4+ workspaces and several screen widths worth of windows on each workspace.

      Turning on the animations quickly makes it all snap into place and I never have the brief moment of "feeling lost" after an operation, so it sees inherently important to this WM style. The animations are very fast out of the box and do not feel superfluous.

    • WhyNotHugo 13 hours ago ago

      The funny thing about Niri is the choice in animations. When you resize a window, it fades out and then fades back in… it would look much smoother to simply resize the window as you drag. The fading effect almost looks like a glitch.

    • adamtulinius 2 days ago ago

      I think they can be a helpful hint about how things are positioned relative to each other.

    • Imustaskforhelp 2 days ago ago

      I really like these animations. I can understand your opinion but I moved to something like cachyos hyprland and its dotfiles really interest me and to me seems like something that __just works__ for me and it was very easy to migrate too and I just needed to add some software and just change some keybinds and I didn't have to modify any hyprland animations on cachy by default as I liked it.

      Maybe there is a point to have them not be a default but that might be a hassle for people like me.

      There is a point to be made that maybe cachy and others could opinionate it themselves but the stock shouldn't have animations but if you know that they can be deactivated easily, its definitely a mixed bag of sorts.

      Like see neovim, people want to use that software with some saner defaults so they use things like lunarvim / nvchad etc. but even when I was on omarchy (which I stopped after reading https://jakelazaroff.com/words/dhh-is-way-worse-than-i-thoug...) neovim with these mods never really worked with LSP and so many other nice to have features and other things with me (maybe skill issue from my side but there was always one or two errors in that neovim and I just prefer micro nowadays, it just works)

    • amonith 2 days ago ago

      > They are just way too distracting, I don't understand why people like them.

      Simply not all people get so easily distracted... It may be signs of mild ADHD.

  • dinkleberg 2 days ago ago

    I was daily driving Niri for a few months a while back and it was the first WM that worked nicely OOTB on a big ass ultrawide monitor. There is a nice hotkey to center your active window. I've found it was quite the hassle on other WMs to work nicely on a wide monitor. The traditional split view means nothing is directly in front so you're always turning. Or you have to spend a bunch of time customizing it to suit the monitor. Niri is the way to go in these cases IMO.

    That being said, these days I prefer floating windows so I just use GNOME.

  • jasperry 2 days ago ago

    Does this or any other scrollable-tiling WM remember your preferred size of windows per-application? For instance, if I open a new Firefox window, I always want it to be the same width and full height. If I open a terminal, I want it to be half-height and the width I've set for terminals.

    Ideally, I'd want to set that in a configuration, so if I made adjustments to a window one time it wouldn't change the default sizes.

  • tracker1 2 days ago ago

    Have to admit, my first thought seeing the title was, "Really?! Do we need yet another tiling, or any desktop/wm?" but after seeing this one, I'm genuinely tempted to give it a try.... I've been running the COSMIC Alpha/Beta for about 6 months now and overall happy with it... but given my display and zoom level (45" 3440x1440 @ 125%) I'm mostly pinning a single app left/right anyway. This WM approach is pretty close to exactly what I want anyway.

    I usually have VS Code, Terminal, Web Browser and maybe Email, Teams, Discord etc open depending on if it's work or personal. While I can't use this at work (Windows), I may give it a shot on my personal desktop.

    • LeFantome a day ago ago

      I have one laptop where I use Niri along with COSMIC panel and COSMIC term. Niri is amazing.

  • pmarreck 21 hours ago ago

    1) I'm still on GNOME. What's the upgrade path to Wayland?

    2) There's something like this for GNOME, albeit not as cool... and this may actually get me to finally install Wayland

    3) since I'm on NixOS, if important things break, I can always roll it back

  • Imustaskforhelp 2 days ago ago

    I was installing hyprland on cachyos and it seems that cachyos had niri as an option too in the calameres installer.

    It definitely had caught my attention and I might look at it too in the future.

    I am really distro hopping and trying out a lot of things recently as I have really cut down on the amount of software to just zen-browser with bitwarden and ublock origin,signal and micro and zed for the most part with some custom zsh script and hyprland cachy had a fish shell which looked gorgeous out of the box and very very similar to my zsh script but my zsh script always had problems with history and what not and it seems that they are fixed now so I am very very happy.

  • tacone a day ago ago

    Looks fantastic, I've been searching for something like this in the past. Is there support for stacking windows (ala i3)? Thats something currently very important to me.

  • gbuk2013 2 days ago ago

    How does it compare to Sway?

    • nagisa 2 days ago ago

      Been using sway for many years before moving to niri last year.

      Outside of the fundamental window management differences, I find that a lot of stuff with niri is easier to make work, or just happens to work out of the box. Screen sharing with sway was always a problem for me[1], whereas for niri it works great (incl. sharing individual windows only[2].) I also found that niri is much better at letting hardware go to sleep (which saves 10W on my GPU.)

      [1]: https://github.com/swaywm/sway/issues/7898 etc.

      [2]: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3864

  • jadbox 2 days ago ago
  • nine_k a day ago ago

    What was not obvious to me is whether Niri supports something like a fixed panel that would display stuff like clocks, network status, battery charge, CPU load, sound volume, etc, etc.

  • thesuitonym 2 days ago ago

    Neat idea, it's not for me but I see the appeal.

    But if I may, I'd like to see just one implementation of a vertical bar where the text is rotated, especially if it's going to display the time. I mean, I want to see it, but not enough to actually DO anything about it.

  • evertedsphere 2 days ago ago

    i tried niri for a few months earlier this year

    ultimately it turned out that after years of i3/sway scrollable tiling doesn't feel natural at all (and neither do dynamic workspaces, but that's less significant). when i resurrected my desktop a couple of months into the experiment i found it also lagged quite badly on my desktop with an nvidia card (a 3090, tried both drivers) and i couldn't be bothered to figure that one out so that was the final straw and i went back to sway

    i was quite impressed with the level of thought that went into the ux and the amount of polish in everything though. it already feels like a serious, well-made piece of software, and it's not even that old yet

  • joshcsimmons 2 days ago ago

    Wow this is pretty. Windowing systems were a primary drive for me switching to Linux.

  • lelorax 2 days ago ago

    Would it be possible for something like this to work on MacOS? Or does it fall outside of what is possible given the system's "configurability"?

  • Symmetry 2 days ago ago

    I've been happily running xmonad as my window manager from within Gnome since (checks git) 2011. Is there a reasonable way to run Niri inside one?

    • bilkow 2 days ago ago

      You can run niri from within other DEs, but I'm unsure whether it works well for your use-case. From the docs[0]:

      "You can also run niri inside an existing desktop session. Then it will open as a window, where you can give it a try. Note that this windowed mode is mainly meant for development, so it is a bit buggy (in particular, there are issues with hotkeys)."

      IIRC in this case the Mod key is by default Alt instead of Super.

      [0] https://yalter.github.io/niri/Getting-Started.html

    • atlintots 2 days ago ago

      I'm not sure, but I doubt it. You could try PaperWM [0] inside Gnome to get a feel for the scrolling WM workflow, and see if it's worth switching to niri proper for you.

      [0] https://github.com/paperwm/PaperWM

  • xvrqt 2 days ago ago

    I love Niri; finally a compositor that has an easy way to inject shaders.

    Also: - Rust - Great Nix Flake (thx Sodiboo) - Wayland

    • squigz 2 days ago ago

      What do you mean by shaders?

      • wongogue 2 days ago ago

        You can write your animations in niri. A shader is a basically a program that runs on the GPU.

  • gundamdoubleO 2 days ago ago

    Love this WM. Been using it as a daily driver for months now and couldn't be happier.

  • ge96 2 days ago ago

    Is there a small icon that tells you the layout so you know which way to swipe?

    Oh maybe it's just up and down

    • atlintots 2 days ago ago

      Sorry, I don't understand what you mean. The infinite strip extends to the right, so you scroll left-right. Workspaces are up-down. If that's what you meant?

      • ge96 2 days ago ago

        I just wasn't sure how you'd know where you are if you can go in any direction

        I suppose if it's built like top-left is 0,0 you could just scroll up/left to get to the beginning

        If you imagine there are 4 windows and are arranged 2x2 then I was thinking you'd have an icon somewhere like

        [ ] [*]

        [ ] [ ]

        So you'd know you're at the top right position

        • atlintots 2 days ago ago

          You can't go in "any" direction, the infinite strip has a fixed height and extends infinitely to the right, so you scroll left-right. Then you have workspaces which are up/down but they are like separate strips entirely.

          Maybe the video of the overview on this page will help: https://github.com/YaLTeR/niri/wiki/Overview

          • ge96 2 days ago ago

            Ahh okay yeah I watched the 2 min one on the main readme

            This does have the dots (vertical position) on the right bar

            Long as the windows stay fixed, it annoys me how Mac will just randomly re-arrange your virtual desktops or whatever you call em

            I use i3 personally at this time regarding this topic but yeah although I used to only care about it because I had crappy computers at the time so not having a full desktop meant saving 400 MB of RAM at idle for example

  • sivakon 2 days ago ago

    Is there a way to run this in Ubuntu?

    • STKFLT a day ago ago

      I'm not sure what the process is like for Ubuntu, but if you just want something Debian-based then PikaOS has prebuilt niri ISOs.

    • maelito 2 days ago ago

      Interested as well. I'm unfamiliar with what it takes, just an apt install ?

      I'm using Regolith, which is installed in two commands.

    • dddw 2 days ago ago

      I did it, lotta work. Easier on nix and arch I guess.

    • __s 2 days ago ago

      Yes

  • OGEnthusiast 2 days ago ago

    Niri is phenomenal. Outstanding example of high-quality software.

  • exasperaited 2 days ago ago

    Every time I read about Wayland compositors, I find myself thinking the same thing: don't Wayland compositors have too many responsibilities?

    • WorldMaker 2 days ago ago

      My understanding is that Wayland compositors have fewer responsibilities than either an X11 window manager or X11 compositor despite doing the job for both.

    • dismalaf 2 days ago ago

      Maybe. But X11 was an unmaintainable mess that was mostly abandoned by its own devs so we get what we get.

  • ahoka 2 days ago ago

    Wow, they have added floating windows. Need to try again!

  • cmrdporcupine 2 days ago ago

    I still find it frustrating there's no debian packagers for niri, after all these years, but seems to be some for almost every other distribution?

    • vergessenmir 2 days ago ago

      Package situation on anything that isn't Arch (and I think Fedora) is pretty rough. I installed it from source. It helps that it is a rust application and was up and running in no time

  • metalliqaz 2 days ago ago

    This is the first time I've seen this concept in window management. It's pretty cool.

  • tamimio 2 days ago ago

    I did try it, but hyprland is still the most usable/pretty ratio for me, I also use Vicinae launcher (I wish that name is changed it’s hard to remember) so not sure how that will work with niri.

    • atlintots 2 days ago ago

      I don't use vicinae, but I just tried it out on niri and it seems to work! I might check it out, it looks interesting.

      • tamimio 2 days ago ago

        Glad to know it works with no issues on niri! And it’s great, works with raycast extensions too!

    • knoopx 2 days ago ago

      I'm using vicinae on Niri, no issues at all

  • aeon_ai 2 days ago ago

    I've seen Niri floating around the conversation, but still find myself drawn to Hyprland. There's something about "pagination" vs a scrollable compositor that makes things feel much more targeted and organized.

    I use Omarchy, btw.

    • peyloride 2 days ago ago

      If I'm not mistaken, you can have the same workflow with niri. You don't need to use "scrollable" feature of Niri, you can attach screens to workspaces.

      I was a former Hyprland user but after I switch to Niri I didn't look back because I think it's kind of having best of two worlds.

      In my workflow, I have browser on workspace 1, code editor on 2, CCTV Viewer on 3 (we have a baby and babysitter so I occasionally check them).

      In the other monitor, I have slack, terminals etc.

      So when I need to switch between browser <-> code (or terminal) I can do quickly. Scrollable comes in handy when you need to check something quickly; for example you are trying to solve something and you need to run some commands in terminal. In that case I just open a new terminal next to browser, do my job and get rid of it.

      Also the Super+Tab view is awesome, you can easily see which window is where. Niri also some IPC features so you can find window id and make Niri focus to it. This comes handy if you use Vicinae (Raycast like launcher for Linux). I can switch windows with just using that.

      One final note, I highly recommend DankMaterialShell - https://github.com/AvengeMedia/DankMaterialShell/ along with Niri.

      • aeon_ai 2 days ago ago

        That's fair -- Basically, you're saying you just add the feature of 'scrollable' to any workspace?

        DMS looks pretty slick.

    • sroerick a day ago ago

      > I use Omarchy, btw.

      I've been thinking about this comment all day trying to decide if this was an unironic "I use Arch btw" or an intentional homage, but it made me laugh a lot

    • grimblee 2 days ago ago

      I feel the I use Arch btw is fair because with pure Arch you actually have to configure things, you know.

      But Omarchy is a fully pre-configured distro, there's no flex in that.

      • aeon_ai 2 days ago ago

        I'd consider it just an opinionated distribution of Arch, with a lot of flex.

        Sure, I think if you disagree with the majority, you'd go Arch and rice your own from the base install (lot of folks who do), but if not, it's a very streamlined way to get off to the races with a community supporting the shared baseline 'opinions'

        • grimblee a day ago ago

          What am saying is you can't flex if people half baked the work for you, "btw I use Arch" was a flex because you had to configure everything yourself.

          So it's a but ridiculous imho, there's no flex in it but you try to flex anyways...

    • dismalaf 2 days ago ago

      I'm also on Omarchy. I use it somewhat like a scrollable compositor, in that I open a max of 2 windows, then move on to the next desktop, then just scroll through them all. But have the option for floating windows or a vertical split when needed (to run a command or something). Plus Hyprland is becoming more cohesive by the day.

    • antonyh 2 days ago ago

      I avoid anything to do with DHH for his views expressed on his blog. I'm sure Omarchy is nice and all, but there are other choices without the ethical baggage.

      • aeon_ai 2 days ago ago

        I'm familiar with DHH's opinions -- Can you elaborate on how there are ethical implications/baggage associated with using FOSS?

        Must we leave the vicinity of people we don't always agree with?

        • antonyh 2 days ago ago

          It's not the FOSS, it's the distribution. As far as I can tell everything in that distro is available elsewhere.

        • exasperaited 2 days ago ago

          I am relaxed about the small potential downsides of not being in the vicinity of people who lionize Tommy Robinson.

          • aeon_ai 2 days ago ago

            https://world.hey.com/dhh/as-i-remember-london-e7d38e64

            Is the above the post lionizing Tommy Robinson, or is there more full-throated support in X posts somewhere?

            • exasperaited a day ago ago

              This article is a far right tone poem; that it mentions Tommy Robinson at all without any qualification, and links to the "FreedomMarch" hash tag is enough to qualify.

              Shame on DHH for eliding who Tommy Robinson really is -- a football hooligan and violent thug:

              https://en.wikipedia.org/wiki/Tommy_Robinson#Criminal_offenc...

              DHH knows nothing of London, and the hugely-ironic idea that it's too full of "non-native" British people for him -- a white foreigner -- to feel comfortable moving there is the purest sign of who he is.

      • gcoguiec 2 days ago ago

        Am I the only one that reads it as "I use monarchy, btw"?