I’m also a long time i3/sway user and find Niri quite comfy. I can carry over most of my muscle memory from sway for navigating the focus, moving windows etc. I’ve also found it to be very stable and works out of the box with xwayland-satellite.
My biggest issue is that I keep “losing” windows. I open them in a deeply nested stack, do something else and forgot I already had opened the window.
It also happens with sway to some extent but it’s a lot easier to scroll through all workspaces.
It would be nice to have something like a “window map” bound to Alt-Tab.
I'll occasionally do quarters. Especially half on one side, two quarter-windows on the other, for a 3-window arrangement. On Mac.
My key bindings are a little different because I use the defaults in Spectacle to do it. More than a decade like that. Program's discontinued but still works and has never given me so much as one problem this entire time, so I'm going to keep using it until it stops working.
Yeah, I haven't seen a way to change the keybindings so they match my muscle memory. My current set-up is "brew install spectacle", cmd+space+"spect"+return, tick the checkbox to run at startup, then never think about it again—even if there were a way, I'd also have to go to the trouble of scripting the keybinding changes to make it this easy.
I thought that was a totally different program, not a fork? If it's a fork, I guess that simplifies figuring out which alternative to switch to the first time Spectacle gives me any trouble at all.
This is me exactly haha. What I really want is just gnome with a little more tiling capability for the rare occasion, like thirds and quarters. But the majority of my tiling needs are in the terminal and tmux is the hero
I must also be a caveman, I have at most 4 windows open, they are pretty much full screen, and I swap between them with a mouse. I don't even have that many browser tabs open at any given time, maybe 5-10 max. I feel old when I see kids these days using fancy window managers with custom ergo keyboards and no mice, while they hack away in neovim (is that still cool?) and chat on a platform I don't even know exists yet.
I would like to know, coming from a traditional tiling window manager, how does the shortcut workflow look like?
For me the number one thing is having fixed shortcuts á la Super+[0-9] to go to specific windows / workspaces / essentially a specific program. If I can have that, and additionally solving the "worskpace management" problem as TFA described, I'm sold!
Does it make sense to use "workspaces" like this with Niri? For example, one workspace with the browser, one with the editor, one with several terminal columns, and so on. I would need to "switch" (immediately, without animation effects, please) e.g. from "browser" to "terminals".
Oh, perfect, thanks! I've been using Niri for less than a week, hadn't got to using named workspaces yet, and missed the bit in the docs where it says they can be empty.
I find I use Niri in a similar way to other tiling WMs, but instead of having one application per workspace, it lets me keep accessory applications clustered with the main ones. For example, my password manager lives in the same workspace (usually off-screen) as my browser. Whenever I need to generate a password or something, it's right there. Same with whatever accessory terminals I need in addition to my text editor.
I love the idea of tiling window managers and I've done reasonably long stints with i3 and hyprland, but for some reason, I've always struggled to fully stick with them and have fallen back to Xfce (old habits die hard).
I think what always ends the experiment is that once I reach a certain number of windows, it can be more challenging to manage them if you haven't gone deep enough down the rabbit hole to properly configure workspaces, layouts, etc.
I just fired up Niri, and in 10 minutes I already feel more comfortable than I have with other tiling window managers. It feels immediately intuitive, and the mouse integration is excellent. Maybe it's too early to declare victory, but this really truly looks like exactly what I've been wanting/needing for years. I'll judge how good it is by how long it takes me to think about going back to Xfce ;)
Tiling never worked for me either. Might be because the place I use Linux most is on laptops, where screens are too small to do much tiling aside from maybe splitting the screen in half (and even that doesn’t play nice with things like IDEs). Plain, boring, non-trendy floating WMs/DEs with some lightweight optional tiling has proven most optimal for me.
I can recommend trying out any non-standard WM to anyone looking to learn more about what's going on with a Linux desktop. I learned more about Linux playing around with TWMs than any other class of software.
I don't know if it's really made me any more productive, but it's a fantastic learning experience, the ergonomics are great, and there's incredible satisfaction in building your own desktop environment from the ground up.
I watched the video on the site and this looks like absolute hell, as someone who uses drag-n-drop between programs fairly often.
I'm also someone whose open browser tabs tend to grow indefinitely until I just have to bookmark and close all hundred of them or whatever, so... yeah, this entire paradigm looks extremely not for me.
I'm a hyprland zoomer but I used Niri for a bit and it worked pretty well. It slots in perfectly for someone coming from an average single-monitor Windows workflow (for most office-style tasks). I still think that more complex tiling setups have a higher productivity ceiling though. I guess if you're like this guy and keep >10 workspaces open at once you'd have to go with Niri. I wonder if the increased battery life would still hold for someone that only keeps a few windows open at once. 2 hours is insane from just a change of wm
> Naturally, instead of figuring out what library made a breaking change and spending four hours running git bisect, I decided to throw nearly a decade of muscle-memory and workflow refinements out the window.
I tried to use niri, but I couldn't get it working on NixOS. That is almost certainly user error on my part, but, as a devoted paperwm user in my gnome days, I'm very much on board with what niri is offering.
And since this is a discussion of linux window managers: Currently I'm using hyprland, which is great, but the one I really want to keep maturing is river. It's a very sensible WM that is nonetheless not completely hostile to fun like at least one wayland WM I'm not going to name.
There were some forks and merges already back then that probably did not help. Then Canoncial hired the main dev, with the main project not surviving far beyond his later departure. Official end point for the project seems to have been https://www.phoronix.com/news/MTI2ODU, in 2012 and mentioning Wayland as reason (as if that were anywhere close back then).
It's still around but not in active development. Tiling window managers like i3 are just a window manager, but you can add compiz as your compositor to wobble if you want. I think compton is still the most popular "just good enough" compositor used by i3 users (it's what I use). Sway is both a compositor and a window manager.
Coming from the same background as the author and about checks notes 15 years older (ouch), I loved Niri very much. However I never managed to make x11 windows behave correctly. At the moment the solutions are a bit cumbersome [0] and I didn't manage to have a smooth experience so far...
I don't have a lot of practice with it, but what problems did you have with xwayland-satellite? It really seems like you just run it and everything magically works
This looks really intriguing and I'm looking forward to using it.
I'm still using i3, which is just barely good enough to work.
I miss Notion, which was unfortunately too flakey and unstable to continue using, but that had one property which it looks like Niri preserves -- opening a new window will never cause a resize event. Notion is perhaps even stronger because there is no infinite canvas; opening a new window will never cause a re-layout. It will always open in a tab or a blank space. Similarly, moving windows won't cause re-layout actions; it will just move them between tabs of existing frames.
My i3 configuration tried to preserve this -- it tries to make everything tabbed by default so that moving windows will just move between tabs rather than into new blanks spaces and cause a relayout action, but sometimes, for some reason, it just ... does not, and instead opens a new split.
I tried to make xmonad work but I'm not good enough at Haskell to figure out if it was even possible to configure it the way I want.
This looks interesting and I’ll probably give it a try.
I’ve been using Sway for the last five years and i3 for a few years previously. They work fairly well for me, I certainly didn’t have any of the problems the OP mentioned.
My all time favourite window manager, though, and one I wish would be revived (perhaps as a wayland WM now. How I wish I had the free time to take this on…) is GOOMWWM which I used for a decade prior to i3 (and Musca before that).
Niri is inspired by paperWM and it’s so much smoother. If you liked PaperWM then niri might be worth a look.
It does suffer a bit because it’s not built within the gnome environment. So niri is missing a few things that gnome provides “for free.” Niri leaves it up to you find replacements for some pretty basic functionality.
Some things it seems to be missing:
- Desktop notifications
- App launcher
- dock or any sort of list of running apps.
- Xwayland (for seamlessly running x11 applications)
All of these functions must be provided by other separate tools that are not included with niri.
My biggest complaint is the lack of clipboard synchronization between x11 and Wayland. I guess that gnome handles this automatically but it’s not so in niri - Wayland apps have independent clipboard and inability copy paste between Wayland and x11 is very annoying.
There are workarounds but none that I’ve tried so far are satisfactorily convenient and reliable.
It's the distinction between a "window manager" and a "desktop environment" KDE/Gnome/XFCE are DEs that include window managers (KWin/Mutter/xfwm4) along with a suite of other utilities that make up the complete environment.
Conversely, Sway, Niri, Hyprland, i3 are bare window managers. They do not include the suite of tools and it is left up to the user to build their environment as they wish. Fortunately thanks to some defined (FreeDesktop.org & Wayland are big) and defacto standards there is a reasonable degree of interoperability for tools. For myself I pull a decent chunk of the XFCE suite into my Sway config to make my very own, special little environment. A environment that apparently no one else can even begin to figure out how to use but at least nobody asks to borrow my laptop twice.
sway 1.10 is from october, 1.10.1 is a bugfix from late january. Since they're talking about git bisect, I imagine they might be running master (i.e., bleeding edge) instead of stable releases...
Yeah that's fair, but a lot of people are quite... impatient on IRC, ignoring that those able to answer might be busy or in a different timezone altogether. Debugging an issue requires at the very least the effort to reproduce it, and if the person doesn't already bring a trivial reproduction this can at times be a painful and time-consuming project to extract, and that time is not always available right at that instant.
Coming in with a prepared and easy reproduction and a filed issue makes quite a difference in the response you'll get.
(For the record, I don't experience anything matching what they describe on master right now, but the post was more about PaperWM vs. tiling UX so that doesn't matter that much.)
It wasn't a good fit for me. The strip of windows extending past the border of my screen, sometimes showing half a window, triggered a weird anxiety, it kept drawing my attention. I used it for about two months and then ditched it for a more traditional tiling compositor (hyprland) where windows don't overlap the screen border.
Niri is, however, very pretty from a technical standpoint. Modern Rust codebase, good code structure, very easy to understand and start hacking.
Does anyone know the best way to get some tiling behavior in tradition DEs like Cinnamon.
Some basic things like notifications, keyboard controls for volume/brightness, sound etc don't work the best in i3wm by default and requires some fiddling on each machine to get it to work properly.
I love the out of the box behavior of my Mint installation and don't want to switch completely to something like i3wm.
I could get even a watered down version tiling and stacking like i3 with keyboard shortcuts, I would be very happy. There is gTile but it doesn't quite work the same way.
I just can't wrap my head around tiling WMs (and I've been doing Linux since a _long_ time ago). I just don't see how usable they can be when you have a "small" screen to be honest.
Lots of tasks involve two different apps (googling a bug while looking at the error, reading a spec while working on the code, being on a call while showing off a document etc). I'm almost always happier with two full monitors, but I use tiling when I'm stuck on a single laptop screen for example. I rarely want more than two things at once unless I'm in Emacs, and I sometimes get the sense that a lot of tiling window manager and tmux use is just people not knowing how to use their editor's built in window management and multi-process support. Obviously everyone's free to build their own environment however they like, I don't know why anyone would accept being stuck on a tiny screen for long periods though!
I use Niri at home and PaperWM at work but I use most apps maximized. The thing that I like is that I can move between windows in a WASD like shortcut, more convenient that doing Alt-Tab. However vertical split is also very easy to do in Niri and it's sometimes very convenient.
Frankly, mate, the answer is a bit too hipsterish. Of "you won't understand true underground anyway" sort. We're talking about productivity tools, if there are advantages they can be described even if subjectively.
More often than not you keep just one or two windows visible in the screen, and switch to another app with <super>+<number> or similar. Since you use most apps fullscreen, the small screen doesn't feel so small anymore. Feels good, honestly
Sway (and most other tiling) WMs have the same behaviour; i.e., each monitor has its own unique set of workspaces instead of one workspace being shared across monitors. Workspaces not being persistent also messed with me, I have eight workspaces all divvied up for exact purposes and sometimes the ones inbetween are empty.
I use labwc currently which has the ideal workspace behaviour (one workspace shared).
I've been using sway daily since before it was really stable and recently tried Niri but maybe couldn't get over the muscle memory from sway. I use sway mostly in tabbed mode anyway which gives a similar feel to a scrolling WM but with flexibility to break out to tiles in a different workspace if needed.
What has massively improved my workflow recently is vertical tabs in Firefox. I now have browser tabs I can cycle up and down through on side of my screen, and application tabs I can cycle through left and right at the top. I love it.
This seems interesting. I've been thinking lately of re-installing a tilling WM on my daily driver because I have a wide screen and I spend more time rearranging and searching for windows than doing actual things on it. Also, it seems that all that screen estate could be put to better use with a tilling WM. Guess I'll give Niri a try, maybe it will fit my needs.
Having heard about Niri previously, I really didn't like the sound of it. Seeing the movement with hotkeys shown with each movement... well... that completely changed my perspective. I will have to give it a try.
Funny, I'm the opposite. The idea is intriguing, but I absolutely do not want animated. I have vision issues and animation just makes everything go (more) blurry.
There's apparently a config setting to turn all animations off, though I haven't tried it myself.
The author linked their config file from the article, and it includes this:
// Animation settings.
animations {
// Uncomment to turn off all animations.
// off
I think it's boilerplate from the default config file, which would imply that the video they showed is not the 'animations off' version, if that's not already clear from the presence of animations.
I thought moving from i3/x11 to sway/wayland but from this post is looks like screen sharing still not resolved yet completely on wayland. How much time is worth to wait until UX with wayland will be good enough to not worry about that kind stuff?
I can't say how much time it is worth to you, sorry. What I can say is that screen sharing works fine under Wayland and Gnome for me (AMD hardware all the way), so I'm inclined to say that Wayland is not the showstopper here.
anyway, if one of the majors tiling wm managers struggling to share specific window it looks like it could be more edge cases like that. Probably, I can deal with those things but I fully understand struggle of this article author so just wanna upgrade to it when possibility of struggle will be minimal for me.
Unfortunately tiling window managers for Linux have become quite stagnant in terms of improving and iterating on workflows, which is probably why we're seeing more of the kind of sentiment expressed in this post lately (of course, the poor backwards compatibility story is not helping either)
The Windows scene is definitely the place where the most interesting workflow advances in "traditional" tiling window managers are happening right now.
Can you point to any innovative Windows tiling WMs and explain what "workflow advances" it makes? All I found was FancyWM, and it seems basically identical to i3.
I'm on a phone for most of today so I won't be making the kind of lengthy reply you're asking for, but you can check out komorebi and jwno if you're genuinely interested
I don't see any real innovation with those WM. It looks like they are just migrating the features of advanced Linux-WMs to the windows-world, in their own way.
Can you name any specific features you are considering as innovative?
The main ones that I'm still waiting to see integrated into mainstream Linux twms are workspace scrolling (of course), dynamic layout rules and dynamic offset rules (important for ultrawide monitor users).
I'd also like to see container limit rules to enforce stacking after meeting a threshold (functions as a hard cap on tiles-per-workspace), and native support for Vimium-style shortcuts for every UI element on the screen (from jwno), but I could probably live without these.
I wouldn't call these particularly innovative features, in fact they are pretty low hanging fruit.
> dynamic layout rules and dynamic offset rules (important for ultrawide monitor users).
What is dynamic offset? And what are you missing from the existing layouts the existing dynamic WMs already deliver?
> and native support for Vimium-style shortcuts for every UI element on the screen (from jwno), but I could probably live without these.
Isn't this impossible with Linux, as the WM has no control over the application on that level? Maybe through accessibility-settings you can gain them on a per app-basis. But this seems more a problem of Desktop Environments than Window Managers.
Since we're >5 layers deep in the thread tree, feel free to hit me up off-platform if you'd like to discuss this more. Again, I'm on my phone today and limited in how much detail I can respond in - but if you are interested enough to dig into the documentation and video resources available you'll find the answers to all of these questions and more.
> The worst "street-cred" I have is that I've been using tiling window managers for thirty-five percent of my life: five years with Sway and two with i3. As the realization of those numbers (and my age) dawns upon me
The author is ~21 and seems worried they're old ? I had a good giggle about that.. And then it dawned upon me how old I actually am.
I've been faithfully using the same window manager [olvwm] for ~30 years and counting. In fact the decision about which [distro] I pick for daily use is totally dependent on whether it can be coaxed into running [xview]+olvwm.
Same here, I was actually reading the comments to see if someone had the same reaction. I'm not even much older than them, but enough that I look at 20 yo people as if they were inexperienced children.
This being said, time for my daily nitpicking: 7÷0.35=20, not ~21. Although I agree that 20 ≈ 21.
Reminds me of that explanation for why the years seem to move much faster when you’re older. When you’re 10, five years is half your life. When you’re 50, it’s only 10%.
Yeah, I read that and was thinking "Oh, were they using dwm?" Then the next sentence: "Oooh, they're a pup!" :-) Dude, I've had my current job for over 50% of your life. I guess my street cred is I've been using Unix around as long as your parents have been alive.
I’m also a long time i3/sway user and find Niri quite comfy. I can carry over most of my muscle memory from sway for navigating the focus, moving windows etc. I’ve also found it to be very stable and works out of the box with xwayland-satellite.
My biggest issue is that I keep “losing” windows. I open them in a deeply nested stack, do something else and forgot I already had opened the window.
It also happens with sway to some extent but it’s a lot easier to scroll through all workspaces.
It would be nice to have something like a “window map” bound to Alt-Tab.
I use Gnome and basically full-screen all my windows. Sometimes I use win+left/right to create a half-width window. Am I a caveman?
I'll occasionally do quarters. Especially half on one side, two quarter-windows on the other, for a 3-window arrangement. On Mac.
My key bindings are a little different because I use the defaults in Spectacle to do it. More than a decade like that. Program's discontinued but still works and has never given me so much as one problem this entire time, so I'm going to keep using it until it stops working.
Tiling is now built in to MacOS if you want to give that a try:
https://support.apple.com/guide/mac-help/mac-window-tiling-i...
Yeah, I haven't seen a way to change the keybindings so they match my muscle memory. My current set-up is "brew install spectacle", cmd+space+"spect"+return, tick the checkbox to run at startup, then never think about it again—even if there were a way, I'd also have to go to the trouble of scripting the keybinding changes to make it this easy.
There is a maintained fork called “Rectangle” now.
I thought that was a totally different program, not a fork? If it's a fork, I guess that simplifies figuring out which alternative to switch to the first time Spectacle gives me any trouble at all.
This is me exactly haha. What I really want is just gnome with a little more tiling capability for the rare occasion, like thirds and quarters. But the majority of my tiling needs are in the terminal and tmux is the hero
I use this too, the keybinds carry to windows which is very convenient. I get stunlocked by muscle memory when working in macos tho.
Try out Rectangle. You can set keybinds to match what you're used to.
I must also be a caveman, I have at most 4 windows open, they are pretty much full screen, and I swap between them with a mouse. I don't even have that many browser tabs open at any given time, maybe 5-10 max. I feel old when I see kids these days using fancy window managers with custom ergo keyboards and no mice, while they hack away in neovim (is that still cool?) and chat on a platform I don't even know exists yet.
I would like to know, coming from a traditional tiling window manager, how does the shortcut workflow look like?
For me the number one thing is having fixed shortcuts á la Super+[0-9] to go to specific windows / workspaces / essentially a specific program. If I can have that, and additionally solving the "worskpace management" problem as TFA described, I'm sold!
Does it make sense to use "workspaces" like this with Niri? For example, one workspace with the browser, one with the editor, one with several terminal columns, and so on. I would need to "switch" (immediately, without animation effects, please) e.g. from "browser" to "terminals".
Yes, Niri still supports numbered workspaces in the same was as WMs like Sway. It's just that now you can scroll them horizontally too.
The one caveat -- and it's a big one -- is that Niri numbers workspaces dynamically, and won't let you have an empty workspace (except temporarily).
You can have named workspaces now, I have ones dedicated to terminals, and browsers. They always have the same numbers.
Oh, perfect, thanks! I've been using Niri for less than a week, hadn't got to using named workspaces yet, and missed the bit in the docs where it says they can be empty.
I find I use Niri in a similar way to other tiling WMs, but instead of having one application per workspace, it lets me keep accessory applications clustered with the main ones. For example, my password manager lives in the same workspace (usually off-screen) as my browser. Whenever I need to generate a password or something, it's right there. Same with whatever accessory terminals I need in addition to my text editor.
I love the idea of tiling window managers and I've done reasonably long stints with i3 and hyprland, but for some reason, I've always struggled to fully stick with them and have fallen back to Xfce (old habits die hard).
I think what always ends the experiment is that once I reach a certain number of windows, it can be more challenging to manage them if you haven't gone deep enough down the rabbit hole to properly configure workspaces, layouts, etc.
I just fired up Niri, and in 10 minutes I already feel more comfortable than I have with other tiling window managers. It feels immediately intuitive, and the mouse integration is excellent. Maybe it's too early to declare victory, but this really truly looks like exactly what I've been wanting/needing for years. I'll judge how good it is by how long it takes me to think about going back to Xfce ;)
Tiling never worked for me either. Might be because the place I use Linux most is on laptops, where screens are too small to do much tiling aside from maybe splitting the screen in half (and even that doesn’t play nice with things like IDEs). Plain, boring, non-trendy floating WMs/DEs with some lightweight optional tiling has proven most optimal for me.
I can recommend trying out any non-standard WM to anyone looking to learn more about what's going on with a Linux desktop. I learned more about Linux playing around with TWMs than any other class of software.
I don't know if it's really made me any more productive, but it's a fantastic learning experience, the ergonomics are great, and there's incredible satisfaction in building your own desktop environment from the ground up.
What are some of the most interesting WMs in your opinion?
For X11: Binary Space Partitioning WM https://github.com/baskerville/bspwm
Scrollable WMs are really terrific because you get about 80% of the productivity benefits of a tiling WM with 20% of the effort.
I am puzzeled by the fact it took us 30-40 years to figure it out !
I watched the video on the site and this looks like absolute hell, as someone who uses drag-n-drop between programs fairly often.
I'm also someone whose open browser tabs tend to grow indefinitely until I just have to bookmark and close all hundred of them or whatever, so... yeah, this entire paradigm looks extremely not for me.
I'm a hyprland zoomer but I used Niri for a bit and it worked pretty well. It slots in perfectly for someone coming from an average single-monitor Windows workflow (for most office-style tasks). I still think that more complex tiling setups have a higher productivity ceiling though. I guess if you're like this guy and keep >10 workspaces open at once you'd have to go with Niri. I wonder if the increased battery life would still hold for someone that only keeps a few windows open at once. 2 hours is insane from just a change of wm
A fun read. Everyone has their breaking point…
> Naturally, instead of figuring out what library made a breaking change and spending four hours running git bisect, I decided to throw nearly a decade of muscle-memory and workflow refinements out the window.
Niri is cool and I kindof like it.
I was interested in Niri until I saw that it had the same issue that other wayland compositors have (except Gnome and KDE) i.e xwayland scaling
> Display scaling (integer or fractional) will make X11 apps look blurry; this needs to be supported in xwayland-satellite.
I think the post should be retitled "The Future Is Niri [for people who never touch their mouse and instead like memorizing keyboard shortcuts]"
(watch the bottom-right readout on the video)
I tried to use niri, but I couldn't get it working on NixOS. That is almost certainly user error on my part, but, as a devoted paperwm user in my gnome days, I'm very much on board with what niri is offering.
And since this is a discussion of linux window managers: Currently I'm using hyprland, which is great, but the one I really want to keep maturing is river. It's a very sensible WM that is nonetheless not completely hostile to fun like at least one wayland WM I'm not going to name.
When I was in my 20s, I was all in on Compiz. Whatever happened to it?
There were some forks and merges already back then that probably did not help. Then Canoncial hired the main dev, with the main project not surviving far beyond his later departure. Official end point for the project seems to have been https://www.phoronix.com/news/MTI2ODU, in 2012 and mentioning Wayland as reason (as if that were anywhere close back then).
But actually, the launchpad repo has recent commits (or do I read https://code.launchpad.net/~compiz-team/compiz/+git/compiz/+... wrong), and so does https://github.com/compiz-reloaded. You can still just use one of those if you want - Void Linux for example has it packaged, and so does Ubuntu.
It's still around but not in active development. Tiling window managers like i3 are just a window manager, but you can add compiz as your compositor to wobble if you want. I think compton is still the most popular "just good enough" compositor used by i3 users (it's what I use). Sway is both a compositor and a window manager.
Coming from the same background as the author and about checks notes 15 years older (ouch), I loved Niri very much. However I never managed to make x11 windows behave correctly. At the moment the solutions are a bit cumbersome [0] and I didn't manage to have a smooth experience so far...
[0] https://github.com/YaLTeR/niri/wiki/Xwayland
I don't have a lot of practice with it, but what problems did you have with xwayland-satellite? It really seems like you just run it and everything magically works
This looks really intriguing and I'm looking forward to using it.
I'm still using i3, which is just barely good enough to work.
I miss Notion, which was unfortunately too flakey and unstable to continue using, but that had one property which it looks like Niri preserves -- opening a new window will never cause a resize event. Notion is perhaps even stronger because there is no infinite canvas; opening a new window will never cause a re-layout. It will always open in a tab or a blank space. Similarly, moving windows won't cause re-layout actions; it will just move them between tabs of existing frames.
My i3 configuration tried to preserve this -- it tries to make everything tabbed by default so that moving windows will just move between tabs rather than into new blanks spaces and cause a relayout action, but sometimes, for some reason, it just ... does not, and instead opens a new split.
I tried to make xmonad work but I'm not good enough at Haskell to figure out if it was even possible to configure it the way I want.
This looks interesting and I’ll probably give it a try.
I’ve been using Sway for the last five years and i3 for a few years previously. They work fairly well for me, I certainly didn’t have any of the problems the OP mentioned.
My all time favourite window manager, though, and one I wish would be revived (perhaps as a wayland WM now. How I wish I had the free time to take this on…) is GOOMWWM which I used for a decade prior to i3 (and Musca before that).
I've never tried Niri, but I'm interested.
Recently I had a good introduction to the scrollable WM experience on GNOME with the PaperWM extension: https://github.com/paperwm/PaperWM
Niri is inspired by paperWM and it’s so much smoother. If you liked PaperWM then niri might be worth a look.
It does suffer a bit because it’s not built within the gnome environment. So niri is missing a few things that gnome provides “for free.” Niri leaves it up to you find replacements for some pretty basic functionality.
Some things it seems to be missing:
- Desktop notifications - App launcher - dock or any sort of list of running apps. - Xwayland (for seamlessly running x11 applications)
All of these functions must be provided by other separate tools that are not included with niri.
My biggest complaint is the lack of clipboard synchronization between x11 and Wayland. I guess that gnome handles this automatically but it’s not so in niri - Wayland apps have independent clipboard and inability copy paste between Wayland and x11 is very annoying.
There are workarounds but none that I’ve tried so far are satisfactorily convenient and reliable.
It's the distinction between a "window manager" and a "desktop environment" KDE/Gnome/XFCE are DEs that include window managers (KWin/Mutter/xfwm4) along with a suite of other utilities that make up the complete environment.
Conversely, Sway, Niri, Hyprland, i3 are bare window managers. They do not include the suite of tools and it is left up to the user to build their environment as they wish. Fortunately thanks to some defined (FreeDesktop.org & Wayland are big) and defacto standards there is a reasonable degree of interoperability for tools. For myself I pull a decent chunk of the XFCE suite into my Sway config to make my very own, special little environment. A environment that apparently no one else can even begin to figure out how to use but at least nobody asks to borrow my laptop twice.
Niri is cool, but was the drag issue reported? :/
sway 1.10 is from october, 1.10.1 is a bugfix from late january. Since they're talking about git bisect, I imagine they might be running master (i.e., bleeding edge) instead of stable releases...
They did mention that they asked for help in IRC. Not the same thing as a bug report of course, but worth mentioning.
Yeah that's fair, but a lot of people are quite... impatient on IRC, ignoring that those able to answer might be busy or in a different timezone altogether. Debugging an issue requires at the very least the effort to reproduce it, and if the person doesn't already bring a trivial reproduction this can at times be a painful and time-consuming project to extract, and that time is not always available right at that instant.
Coming in with a prepared and easy reproduction and a filed issue makes quite a difference in the response you'll get.
(For the record, I don't experience anything matching what they describe on master right now, but the post was more about PaperWM vs. tiling UX so that doesn't matter that much.)
It wasn't a good fit for me. The strip of windows extending past the border of my screen, sometimes showing half a window, triggered a weird anxiety, it kept drawing my attention. I used it for about two months and then ditched it for a more traditional tiling compositor (hyprland) where windows don't overlap the screen border.
Niri is, however, very pretty from a technical standpoint. Modern Rust codebase, good code structure, very easy to understand and start hacking.
would a widescreen make this better or worse? (I like to work in UWQHD.)
KDE users might be interested in Karousel. A Kwin script that also does scrollable tiling windows in KDE. https://github.com/peterfajdiga/karousel
My biggest problem with wayland was support for french characters. So annoying, so basic. L'accent circonflexe ne marchait pas.
Last time I tried, a few weeks ago, it wasn't better.
Just out of curiosity, what issues do you encounter? Doesn't Wayland support Unicode?
Does anyone know the best way to get some tiling behavior in tradition DEs like Cinnamon.
Some basic things like notifications, keyboard controls for volume/brightness, sound etc don't work the best in i3wm by default and requires some fiddling on each machine to get it to work properly.
I love the out of the box behavior of my Mint installation and don't want to switch completely to something like i3wm. I could get even a watered down version tiling and stacking like i3 with keyboard shortcuts, I would be very happy. There is gTile but it doesn't quite work the same way.
Not sure about Cinnamon, which is a pet project by Linux Mint, but Gnome and Kwin offer some options these days:
https://github.com/ellysaurus/KWin-TilingGuide/
https://github.com/paperwm/PaperWM
https://github.com/peterfajdiga/karousel
there might be more
where's i3 gaps and the ricing
I just can't wrap my head around tiling WMs (and I've been doing Linux since a _long_ time ago). I just don't see how usable they can be when you have a "small" screen to be honest.
Lots of tasks involve two different apps (googling a bug while looking at the error, reading a spec while working on the code, being on a call while showing off a document etc). I'm almost always happier with two full monitors, but I use tiling when I'm stuck on a single laptop screen for example. I rarely want more than two things at once unless I'm in Emacs, and I sometimes get the sense that a lot of tiling window manager and tmux use is just people not knowing how to use their editor's built in window management and multi-process support. Obviously everyone's free to build their own environment however they like, I don't know why anyone would accept being stuck on a tiny screen for long periods though!
I use Niri at home and PaperWM at work but I use most apps maximized. The thing that I like is that I can move between windows in a WASD like shortcut, more convenient that doing Alt-Tab. However vertical split is also very easy to do in Niri and it's sometimes very convenient.
But keyboard-driven workflow is not a property of tiling WMs. You can re-configure window switching in many WMs to be whatever you like
That's cool, homie, maybe it's just not for you. Personally, while I understand the appeal, it's just not for me.
Frankly, mate, the answer is a bit too hipsterish. Of "you won't understand true underground anyway" sort. We're talking about productivity tools, if there are advantages they can be described even if subjectively.
More often than not you keep just one or two windows visible in the screen, and switch to another app with <super>+<number> or similar. Since you use most apps fullscreen, the small screen doesn't feel so small anymore. Feels good, honestly
Vice versa for me: I cannot understand how people with small screens can use anything but tiling.
I tried using Niri but the per-monitor workspace behaviour is completely unacceptable to me. I don't use a laptop.
can you expand on that? how does it compare to sway, for example? what's unacceptable and acceptable for you?
Sway (and most other tiling) WMs have the same behaviour; i.e., each monitor has its own unique set of workspaces instead of one workspace being shared across monitors. Workspaces not being persistent also messed with me, I have eight workspaces all divvied up for exact purposes and sometimes the ones inbetween are empty.
I use labwc currently which has the ideal workspace behaviour (one workspace shared).
right, those are the two ways.
and how does niri do it? a workspace is shared among all monitor, or it's one workspace per monitor?
I've been using sway daily since before it was really stable and recently tried Niri but maybe couldn't get over the muscle memory from sway. I use sway mostly in tabbed mode anyway which gives a similar feel to a scrolling WM but with flexibility to break out to tiles in a different workspace if needed.
What has massively improved my workflow recently is vertical tabs in Firefox. I now have browser tabs I can cycle up and down through on side of my screen, and application tabs I can cycle through left and right at the top. I love it.
This seems interesting. I've been thinking lately of re-installing a tilling WM on my daily driver because I have a wide screen and I spend more time rearranging and searching for windows than doing actual things on it. Also, it seems that all that screen estate could be put to better use with a tilling WM. Guess I'll give Niri a try, maybe it will fit my needs.
Is there something equivalent or similar for MacOS? This seems great!
I use (and pay) for the magnet app, I don't like the native fullscreen functionality or split screen options.
Ha! The niri README has an answer for this, https://github.com/YaLTeR/niri, it is https://github.com/mogenson/PaperWM.spoon, "Tiled scrollable window manager for MacOS".
This looks like some headset UI designs to me.
Viture comes to mind.
Having heard about Niri previously, I really didn't like the sound of it. Seeing the movement with hotkeys shown with each movement... well... that completely changed my perspective. I will have to give it a try.
Funny, I'm the opposite. The idea is intriguing, but I absolutely do not want animated. I have vision issues and animation just makes everything go (more) blurry.
There's apparently a config setting to turn all animations off, though I haven't tried it myself.
The author linked their config file from the article, and it includes this:
I think it's boilerplate from the default config file, which would imply that the video they showed is not the 'animations off' version, if that's not already clear from the presence of animations.I thought moving from i3/x11 to sway/wayland but from this post is looks like screen sharing still not resolved yet completely on wayland. How much time is worth to wait until UX with wayland will be good enough to not worry about that kind stuff?
I can't say how much time it is worth to you, sorry. What I can say is that screen sharing works fine under Wayland and Gnome for me (AMD hardware all the way), so I'm inclined to say that Wayland is not the showstopper here.
thanks, good to know.
anyway, if one of the majors tiling wm managers struggling to share specific window it looks like it could be more edge cases like that. Probably, I can deal with those things but I fully understand struggle of this article author so just wanna upgrade to it when possibility of struggle will be minimal for me.
Same. Screensharing under Wayland/Gnome with AMD hardware all the way has been working great for quite some time
That video immediately made me wish this was available for Mac, it seemed to fit my brain's model of how things should be.
Check out AeroSpace. It’s pretty amazing. I’m wondering if it can be made to do things like Niri.
https://github.com/nikitabobko/AeroSpace
After hopping around MacOS window managers, I landed on Aerospace. For MacOS it's by far the best, and can do most of the things I want.
But it still feels like a plastic fork and knife compared to Niri. Really wish Apple would open up more of their desktop APIs..
It's not quite the same as Niri, but in case you haven't seen there is _A_ tiling window manager for Mac: Amethyst
No 'endless scrolling' aspect, but I find it works great for managing window sizing and bopping around your windows via keyboard.
there's https://github.com/mogenson/PaperWM.spoon (i haven't tried it)
Should have mentioned that I use Moom at the moment on Mac, and I love it. It's that scrolling paradigm that interests me here though.
funny I got to know about ersei from Purdue linux group's members list and here he is on the frontpage of hn.
I enjoyed this post but I'm going to keep using xmonad (and X) until I can port my configuration to a wayland equivalent (if that is even possible)
Unfortunately tiling window managers for Linux have become quite stagnant in terms of improving and iterating on workflows, which is probably why we're seeing more of the kind of sentiment expressed in this post lately (of course, the poor backwards compatibility story is not helping either)
The Windows scene is definitely the place where the most interesting workflow advances in "traditional" tiling window managers are happening right now.
Can you point to any innovative Windows tiling WMs and explain what "workflow advances" it makes? All I found was FancyWM, and it seems basically identical to i3.
I'm on a phone for most of today so I won't be making the kind of lengthy reply you're asking for, but you can check out komorebi and jwno if you're genuinely interested
I don't see any real innovation with those WM. It looks like they are just migrating the features of advanced Linux-WMs to the windows-world, in their own way.
Can you name any specific features you are considering as innovative?
The main ones that I'm still waiting to see integrated into mainstream Linux twms are workspace scrolling (of course), dynamic layout rules and dynamic offset rules (important for ultrawide monitor users).
I'd also like to see container limit rules to enforce stacking after meeting a threshold (functions as a hard cap on tiles-per-workspace), and native support for Vimium-style shortcuts for every UI element on the screen (from jwno), but I could probably live without these.
I wouldn't call these particularly innovative features, in fact they are pretty low hanging fruit.
> dynamic layout rules and dynamic offset rules (important for ultrawide monitor users).
What is dynamic offset? And what are you missing from the existing layouts the existing dynamic WMs already deliver?
> and native support for Vimium-style shortcuts for every UI element on the screen (from jwno), but I could probably live without these.
Isn't this impossible with Linux, as the WM has no control over the application on that level? Maybe through accessibility-settings you can gain them on a per app-basis. But this seems more a problem of Desktop Environments than Window Managers.
Since we're >5 layers deep in the thread tree, feel free to hit me up off-platform if you'd like to discuss this more. Again, I'm on my phone today and limited in how much detail I can respond in - but if you are interested enough to dig into the documentation and video resources available you'll find the answers to all of these questions and more.
> The worst "street-cred" I have is that I've been using tiling window managers for thirty-five percent of my life: five years with Sway and two with i3. As the realization of those numbers (and my age) dawns upon me
The author is ~21 and seems worried they're old ? I had a good giggle about that.. And then it dawned upon me how old I actually am.
I've been faithfully using the same window manager [olvwm] for ~30 years and counting. In fact the decision about which [distro] I pick for daily use is totally dependent on whether it can be coaxed into running [xview]+olvwm.
[olvwm]: https://en.wikipedia.org/wiki/Olvwm [distro]: https://ces.mataroa.blog/blog/distro_hoppingmd [xview]: https://github.com/olvwm/xview
Same here, I was actually reading the comments to see if someone had the same reaction. I'm not even much older than them, but enough that I look at 20 yo people as if they were inexperienced children.
This being said, time for my daily nitpicking: 7÷0.35=20, not ~21. Although I agree that 20 ≈ 21.
As a 40-something year old person who used ratpoison more than 21 years ago... Yeah, I feel super old now.
No need to feel super old!
/cries in half century
Reminds me of that explanation for why the years seem to move much faster when you’re older. When you’re 10, five years is half your life. When you’re 50, it’s only 10%.
Man I miss those days. I felt so cool sitting in coffee shops with a 10 year old ThinkPad running ratpoison on Gentoo.
Yeah when I did the math on that I was like "oh so you're basically a child!"
Yeah, I read that and was thinking "Oh, were they using dwm?" Then the next sentence: "Oooh, they're a pup!" :-) Dude, I've had my current job for over 50% of your life. I guess my street cred is I've been using Unix around as long as your parents have been alive.
I've been using my current window manager (fluxbox) for far more years than he's been alive. Now talk about muscle memory!