Well, keep in mind that based on the author's "street cred", they are only 20. I think many of us would agree that when we were 20 our tolerance for all sorts of tinkering and BS in software was almost infinite compared to what it became after several years in the workforce or having a family.
I only bring this up because I have seen a dozen or more tiling WMs come and go over the past 20 years, many of which were touted as being "the future." The reality is that the most productivity-enhancing features from tiling WMs were integrated into all the major window managers ages ago, and pure tiling WMs will forever be a niche product.
That means to use them effectively you're going to need to invest a lot of time and effort for realistically incremental gains in productivity, and in return you get the side effect of niche products like these having a lots of rough edges.
I was likewise. And I found that my workflow was very compatible with tiling window managers. I used splits for temporary apps (like a 30 sec diversion into a terminal) but otherwise dedicated an entire workspace/screen to each app. It's a marginal improvement over Gnome, things are more likely to be in the right place out-of-the-gate (and, honestly, how often do you actually need to z-stack windows?).
I initially thought that an even better WM would be in the realm of an real-time strategy game camera: an infinite 2D canvas with "keybindable" locations+zooms. Niri has convinced me that my idea was too complicated, and it hits the perfect spot between functionality and usability.
It's like technology gifted to us by aliens from the future.
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
PaperWM is almost exactly what Niri is in a Gnome extension form. It might actually also be the first to implement that kind of workflow.
https://github.com/paperwm/PaperWM
I only use tiling when I'm coding, so I have a shortcut to a script that tiles all the open windows and gives the main window around 60% of the screen width.
They follow ubuntu releases, kind of. The downside, they went all in into their new desktop env - cosmic, and until they release it they won't move on from 20.04..
I really loved the tiling feature in PopOS 20.04 which came out of the box. But then I bought a new laptop, and had to move to arch to use it..
Tiling Assistant might be worth a try. It can be configured to be pretty out of the way and just add more snapping sizes, different per-monitor if you need.
I used to do that when I had a two-monitor setup - one full-screen window per monitor. Now that I have one 4K monitor I usually have two windows side by side, and very occasionally quartered (sometimes of course also one window on one side and two on the other). Not sure if this "workflow" would lend itself to a tiling window manager (never tried one), because some of the windows are also stacked?
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.
Ah, looks promising, and I bet I can figure out how to add the rest with that as an example and some light Web searching.
I use all of those except center, plus Cmd+Ctrl+[left, right] for top quarters left and right, and Cmd+Ctrl+Shift+[left, right] for lower quarters left and right.
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.
It says “based on” in the README, which could just mean “inspired by”, but it’s also in the license so I thought that it was an actual fork. Looking at the actual history would reveal the answer, but idk, works basically the same.
Me too. For most things I want all the screen space for the one thing I'm working on. Occasionally I need to look at two things. I almost never need to look at more than two things and I don't have a 100" screen anyway so there wouldn't be space.
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.
That and the apple touchpad to swipe three fingers left and right to switch desktops (and different machines as one desktop is remote desked into a windows box and another terminal+tmux session to a linux box).
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.
You can also try out niri (really paperwm) like tiling in sway (papersway) or hype (hyprscroller). I'm using the later, and it works essentially the same as regular tiling (you can have named workspaces). That said, I notice that I have a lot of muscle memory due to previously working within the constraints of traditional tiling (i.e. You need a new to switch to a new workspace if you open more than 3 terminals, at least on my monitor). I therefore often switch to a new workspace when I really don't need to and get somewhat confused by where things are. I sometimes think a clearer break from my previous way of working might be easier.
That said I really like the approach to tiling from niri and others. It eliminates pretty much all downsides of tiling WMs IMO
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.
I set my column widths so there's really never a partial window at the edge.
On laptop, it's either full width or 1/2 widths depending on the task, on the ultrawide it's 1/3rd width or full width for editor with internal column splits.
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.
It’s on laptops where I appreciate tiling the most. Simple hotkey switching between apps (workspaces) is much better than mouse over some taskbar or alt tab tab tab tab.
With the tiling WM, you spend essentially no time arranging windows, they're all just laptop-screen-filling. On the ultrawide they're all 1/3rd of screen which is the perfect for that monitor size. I haven't clicked a single maximize button in a decade or so.
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.
FWIW I've got a niri IPC / bash / jq abomination that emulates run-or-raise functionality and works probably better than the original RoR. It cycles through windows matching a particular appId and starts one if one doesn't already exist. That, alongside rofi(wayland) as a fuzzy search nav for all open windows, made a huge difference to me.
I couldn't find a run or raise repo that'd have a ws.jq and I'm not convinced it's https://github.com/thaliaarchi/wsjq (whitespace programing language implemented in jq...)
Could you point at that?
I tried Niri, but couldn't figure out how to get good enough support for X programs. Specifically I had issues with the clipboard, I couldn't copy passwords from 1Password (X) and paste them into Firefox (Wayland). Niri doesn't seem interested in having built-in first class support for X and I'm not interested in maintaining it for myself either.
> 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'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
I'm still cycling through wayland and x11, and I also do get 1.5 hours more runtime on average on my old 2nd gen t14s with x11+xmonad+no compositor. It's one of the main reasons I'm struggling to move permanently, as I really don't see any advantage from my perspective as I don't use any desktop environment or feature that would make a compositor actually useful. The only thing I do notice occasionally are black borders due to shadow dropdowns in gtk4 programs that don't respect the system theme I've set.
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.
Mixing can work pretty well. I'm using Plasma with i3 as a WM, and it hits the perfect spot for me. Not sure if the same thing can be done on Wayland, though?
Xwayland-satellite does work quitw well in most regards, however I still haven’t fully solved the clipboard sync issue. I’ve got a hack involving wl-copy piped to xclip that mostly works but sometimes it just stops working for no apparent reason. Or I wind up with multiple copies of xclip running and I have to clean it up. I wish there was a clean way to make the few x apps play nice with Wayland that doesn’t require jumping through weird hoops. Although it hasn’t driven me back to gnome (yet).
Hot take: the way clipboard functionality is implemented seems pretty “odd” to me, especiallly on Unix but some of the legacy probably goes all the way back to old school Mac OS or maybe even to xerox parc. In modern times, Neither Xwindows nor Wayland have done a lot to fix past mistakes. Wayland has done a lot, however, to expose the weaknesses in a very antiquated design.
Hm, I am using [dwm](https://dwm.suckless.org/) with a custom keybinding to shift to the left or right workspace. That seems similar enough, other than the fact that changing the split ratio will affect all workspaces on dwm while on Niri it most likely will not ...
I use a variety of DEs and WMs but I still can't find anything better than dwm for my desktop. If I need some extra controls, xfce4-panel runs modularly and neatly covers the main bar for whatever workspace it's on. It handles both tiling and floating perfectly. I hope more software projects pick up the focus on simplicity, especially making programs as easy to reconfigure and compile as dwm.
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.
Another thing I hate especially in firefox is that one can't pin tabs on the right, next to the newest tabs and the new tabs button.
So often one has to keep one or two tabs open but otherwise open many new ones to research something.
I had some hacked together python that allowed me to yank a window in and out of the stack by name and stashed a window that was the oldest in the stack (basically an LRU cache for windows)
It "worked" but I would really have enjoyed paperwm when I was in college.
There are some things that only floating WMs do right. I have a bad habit of enjoying having a few floating (pinned) copies of a document on my screen at a time in different places to cross-reference without having to move around much.
I've gone on and off tiling WMs over the years. I've just switched from Sway to this, and I'm really enjoying it so far. I have a lot of the same issues with Sway. I really like Sway, but to get the windows working great for me, I end up having to do a lot of manual window management.
I really liked Paper WM with Gnome, but it had lots of little nits that made it frustrating to use (but it did a very admirable job for a Gnome shell extension), and I went back to Sway.
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.
Works just fine here. There was a time when there was something wrong with the graphics stack and it crashed on start, but it runs just fine now. NixOS 24.11, launching it from getty with
environment.loginShellInit = ''
if [ "$(tty)" == /dev/tty1 -a "$USER" != "root" ]; then
exec systemd-cat -t niri niri --session
fi
'';
I am trying to run it on PopOS with a nix flake but doesn't seem to work also the PopOS login screen doesn't seem to support switching desktop environments(might be an issue on my end).
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 don't know about interesting, I think Niri from the parent looks like something I'd like to try.
I've used i3 and moved to hyprland (because it's pretty).
From the perspective I was coming from, I don't think it matters that much, you'll run into the same issues with any of them.
It's about understanding all the things Gnome/KDE/Xfce etc do for you, and how you can set that up differently yourself using components of your choice.
wmii[0], it implements the acme window layout. But the interesting part is that it exposes its state as a file-system. The main loop is a shell script[1]. So BYO posible, fe here is a Ruby one [2]
I've use it daily since the whole hyprland toxicity thing. It works amazing for my workflow, but there are a ton of wrinkles if you stray off the happy path, but it works great (for me).
I also only use a single monitor, trying to plug a second monitor in makes it work less than ideally, and I really wish there was drag + drop support like most other tilers, but for me it's not worth giving up the rest of KDE.
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.
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.
Otherwise it is the perfect endgame UX for me. Regardless of screen size or form factor. I never thought I'd find something that I liked better than i3/sway, but those subtle niri animations, at double speed? On a high refresh rate monitor, w/ amdgpu? Ahh. Chef's kiss <3
I think i3/sway has deceived a lot of people into thinking that tiling means manual tiling. Having to manually split and arrange your windows is not how tiling is supposed to work.
I knew I prefer manual tiling since the very moment I tried wmii. It was the first time tiling made sense to me, and it was a major productivity booster on my 12" laptop. On such small screen I can't care less about all those spiral, bsp and other tiling schemes automatic twms offer.
I switched from Sway to River and have been very happy. However, I noticed Niri when it came out, and was extremely intrigued. Haven't check back in since, but it looks like the project is still humming along, which is awesome. I may have to check it out.
Niri is RAM efficient. I run Niri in an 8GB VM on Intel Macbook, and on a $99 8GB mini PC. Total RAM usage on boot is less than 400MB with waybar, polkit, ssh-agent, mako ... That's in the ultra lightweight WM category. Compare that to Gnome+paperwm (1.6GB)
There are features Niri sorely needs: 1) 2D overview (zoom in/out), 2) enhanced meta for windows (to create window indicator [1] and window picker)
> We're calling 400MB RAM usage ultra-lightweight now? OpenBox needs 7MB of RAM, and there are WMs that are even lighter on memory requirements.
My WM uses 1,158K of RAM, or basically just a bit above 1M. This is a very minimal custom thing I wrote years ago that works for me.
But the previous person said "total RAM usage on boot". I was curious enough to reboot: on boot my Linux system uses 310M. That's without Xorg and starting only some very minimal services. After startx it uses about 405M.
"RAM usage" is a tricky topic. I have 32G on my machine and there's no memory pressure at all on boot, so the kernel can just allocate/cache stuff "just in case", but it doesn't necessarily need all that memory to allocate.
> We're calling 400MB RAM usage ultra-lightweight now? OpenBox needs 7MB of RAM, and there are WMs that are even lighter on memory requirements.
How much is your X server process using? Because a Wayland compositor has to be both the display server and the WM in one. Comparing OpenBox alone to Niri is incomplete and incorrect, you have to compare OpenBox+Xorg+(xcompmgr or whatever frame-perfect compositor) to get a 1:1-ish comparison.
Niri doesn't use 400MB by itself, that's the entire memory footprint of everything running. In comparison, OpenBox with all the utilities needed for wallet, ssh agent etc is in the 450MB range on my box. That's probably due X11 vs Wayland.
A minimal Niri functional environment is similar to IceWM in RAM usage. I used to run antiX in VMs.
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.)
If you drag some text from here to there, it could be good to have it stay selected. You might have dragged it not quite where you wanted it; it might need another drag.
Or am I misunderstanding "changed somehow to keep the selection happening after you released the mouse".
(I understand that people don't like UI changes that break their muscle memory of course.)
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
Thanks! As soon as I saw Niri I wondered if there was a macOS alternative.
Aerospace has a similar resizing glitch as PaperWM.spoon: resizing one direction ends up looking wonky if you do it fast enough. It’s noticeable at the end of the smooth scrolling demo. That must be a macOS thing…
I may check out PaperWM.spoon at some point but realistically I’ll set up a VM and try out Niri
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).
Glad to see Smithay has approached a point that lots of things are being built on it. Last I really deeply looked at all this was when Way Cooler abandoned wlroots-rs.
And to my pleasant surprise, it seems like there may finally be an AwesomeWM alternative for Wayland now! (Pinnacle)
I just use gnome with pop-shell (though on arch). Been using it for years and never had issues with it. For me it's always felt nicer to have a tiling wm on top of something like gnome.
I too used to use pop-shell a few years ago while using PopOS but for the past 6 month or so I've felt great running Ubuntu 24.04 with the PaperWM Gnome extension.
While Niri might be easier to install on Arch I would still suggest giving PaperWM a try for a week. I ended up missing it waaay too much after disabling it for a few days on a whim and now I can't imagine using a computer without a scrolling WM given the choice.
Just uhh... Keep a keybindings cheatsheet nearby, like the one in the PaperWM GitHub repo.
I used AwesomeWM for the longest time before switching to Wayland where I used Gnome because none of the existing WMs seemed interesting at the time. I tried riverwm for a bit but it didn't work for me either. But lately I've been super intrigued by Niri -- it feels fresh and exciting. I've been keeping an eye on it and I can't wait to try it out!
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'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.
It's X11 but whenever (tiling) window managers are mentioned, I feel a strong urge to mention Herbstluftwm [0]. It's more manual than the automatic splitting most tiling WMs do but I really enjoy how easy it is to split/tab using the keyboard in Herbstluftwm.
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.
This is interesting and subjective. A shared workspace is completely unacceptable to me. I need my monitors to have different, unlinked workspaces that can be independently switched. It's one of the things I hated about using Gnome.
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).
Niri: the next redefining software project that happens to be written in Rust. (after so many: RedoxOS, Zed, ripgrep, uutils, servo, COSMIC EPOCH, ...)
If there's something that the Rust community does well it is capturing enthousiasm to get stuff done.
Happy to give it a try but I have 10 years using tiling wms exclusively for research and work and I never wanted to have more than 5 workspaces. I think the nice thing about wms is that mental model to keep things lean and simple, similar to how I also don't have a thousand tabs open and in fact I try to close all of the by the end of every day. I also fail to see the benefit of that many workspaces given you have other tools such as tmux etc.
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 could have word for word written almost exactly this blog post, that's how dead-on-accurate I find it, and how similar OP and I's experiences are (down to when and why we originally switched to Sway - mixed DPI long before Wayland was really "stable" for a daily driver).
Niri is incredible, and has completely eliminated the mildly infuriating bin-packing and layout-optimization problems that TWMs exhibit, without sending me back to the floating WM dark ages. I wish Niri had existed like 10 years ago, but I'll accept it existing now as plenty good enough.
I could also say the same, including the Wayland origin story. I'm pretty new to Niri — I only started playing with it about a month ago — but it's just absolutely that little bit more than Sway I didn't know I needed.
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.
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.
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!
Tilers can remove Gnome's overly whitespaced decorations, probably saving 10% in screen pixels alone.
If you want to maximize all windows on run, niri can do that with a rule. It then becomes like a monocle layout where you can use swipes/keyboard/scroll wheel to navigate between maximized windows. I don't know of any DE that will run all windows maximized by default.
Too bad I no longer have an 800x600 netbook. Niri would be perfect for it.
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.
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
How did we get to a place where a major popular piece of software like this will provide binary packaging for basically every distribution other than Debian (and, by extension, Ubuntu)? This feels out of step with the last 30 years of Linux software development... These are very popular distributions...
Does anyone else find it suspicious that the author was using so many workspaces on sway? I have to wonder if they're not making good use of sway's tabbed and stacked containers ...
> If you don't find yourself constantly swapping between fullscreen and non-fullscreen views and running out of workspaces, you don't have very many windows open. Don't even get me started on tabbed/stacked layouts with nested containers, the least ergonomic Band-Aid™ for the space issue I've ever seen.
On the contrary: I think this author really ought to get started on tabbed/stacking layouts! Constantly swapping between fullscreen and non-fullscreen views, like running out of workspaces, definitely sounds like an antipattern to me. I don't believe that the number of windows is the problem here.
If I'm deep into something, I might have 10 or more windows open, all on one workspace, on a 13" 1080p laptop panel. Of course, not all of the windows are visible at once. A common pattern for me is to have most of my screen taken up by a container split "horizontally" (meaning into a left side and a right side), where each side can be a tabbed container containing several windows. For example, I often have Emacs on the left, and several tabbed terminals (including man pages) on the right. Maybe some of those terminal tabs on the right are split "vertically" into a top and a bottom terminal (e.g. for a shell prompt on top and man page on bottom). Outside of this big left-right split container, which fills almost the whole screen when it's visible, I'll usually have some browser windows open. If it's just one browser window, I'll put it and the big-left-right-split (BLRS) in a stacking container. This way, you can think of the browser as being "above" the BLRS, and you can get there and back by moving the focus up and down again. It's like each stacked item (the browser and the BLRS) gets its own workspace, in that they each take up nearly the full screen when visible, but actually they're both on the same workspace, and the only cost is the loss of one title-bar's height of screen space. Then, if I want more browser windows, I can split the existing one into its own tabbed container. (I use both WM tabs and browser tabs, just like I used to use multiple browser windows on one workspace with Gnome.)
Basically, as my number of windows grows, things become (slightly!) more nested, rather than being ejected into surrounding workspaces. The trick to making this ergonomic is to choose what to stack vs tab so as to allow you to flip back and forth between (at least) any two windows with just a couple keys. (I also have two keybindings to split a container and immediately make it stacking or tabbed, and also two keybindings to focus parent-wards/child-wards. Then, you can easily jump from a window in the middle of a tabbed container on the right of the screen to the window on the left half of the screen---you just focus parent-wards then left (two keys). To get back, just focus right (one key).)
I should also add that I haven't really seen any problems with apps behaving badly when being resized, including Firefox. Maybe that's because my workflow mostly looks and feels like "slots" of a few different sizes (roughly full screen, half screen, quarter screen), and adding new windows to, or moving windows between, these slots is never going to change the size of the slots or the windows displayed in them. In fact, with traditional floating window managers, when has resizing a Firefox window ever caused me to lose my place in the page? Only when I make it super unusably narrow, or short, or both, and then expand it again. This is what would happen if you open a bunch of windows all in horizontal and/or vertical splits, with no stacking or tabbed containers! But why would you do that?
I use stumpwm. The reason is to have fewer features. In the few years I've used it, I never wanted to select text with mouse (although sometimes I had no choice, eg. in PDF), but even then, I never wanted to drag it with the mouse (and I never needed to do that). I don't even know if that would work, and even if it doesn't--wouldn't care...
If I didn't need a Web browser and a PDF reader I wouldn't be running X at all... I wish there was a usable alternative for the browser and PDF reader that didn't require X...
> 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%.
I still use ratpoison, dreading the day it stops working for whatever reason (wayland being a likely one). Haven't tried it, but Cagebreak (https://github.com/project-repo/cagebreak) seems like a possible successor.
At the same time, the author refers to things like "decades" of muscle memory and finishing "all of college." I wonder if there's just an error somewhere?!
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 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.
I only bring this up because I have seen a dozen or more tiling WMs come and go over the past 20 years, many of which were touted as being "the future." The reality is that the most productivity-enhancing features from tiling WMs were integrated into all the major window managers ages ago, and pure tiling WMs will forever be a niche product.
That means to use them effectively you're going to need to invest a lot of time and effort for realistically incremental gains in productivity, and in return you get the side effect of niche products like these having a lots of rough edges.
I initially thought that an even better WM would be in the realm of an real-time strategy game camera: an infinite 2D canvas with "keybindable" locations+zooms. Niri has convinced me that my idea was too complicated, and it hits the perfect spot between functionality and usability.
It's like technology gifted to us by aliens from the future.
https://pop.system76.com/
They follow ubuntu releases, kind of. The downside, they went all in into their new desktop env - cosmic, and until they release it they won't move on from 20.04..
I really loved the tiling feature in PopOS 20.04 which came out of the box. But then I bought a new laptop, and had to move to arch to use it..
https://github.com/Leleat/Tiling-Assistant
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.
https://support.apple.com/guide/mac-help/mac-window-tiling-i...
I use all of those except center, plus Cmd+Ctrl+[left, right] for top quarters left and right, and Cmd+Ctrl+Shift+[left, right] for lower quarters left and right.
Thanks!
It says “based on” in the README, which could just mean “inspired by”, but it’s also in the license so I thought that it was an actual fork. Looking at the actual history would reveal the answer, but idk, works basically the same.
That thing works for me. Horses for courses, YMMV.
If that's being a cavemen, I'm a proud one at that.
I really love it so far.
That and the apple touchpad to swipe three fingers left and right to switch desktops (and different machines as one desktop is remote desked into a windows box and another terminal+tmux session to a linux box).
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".
That said I really like the approach to tiling from niri and others. It eliminates pretty much all downsides of tiling WMs IMO
Niri is, however, very pretty from a technical standpoint. Modern Rust codebase, good code structure, very easy to understand and start hacking.
On laptop, it's either full width or 1/2 widths depending on the task, on the ultrawide it's 1/3rd width or full width for editor with internal column splits.
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 ;)
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.
FWIW I've got a niri IPC / bash / jq abomination that emulates run-or-raise functionality and works probably better than the original RoR. It cycles through windows matching a particular appId and starts one if one doesn't already exist. That, alongside rofi(wayland) as a fuzzy search nav for all open windows, made a huge difference to me.
Thanks for sharing!
> 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.
Recently I had a good introduction to the scrollable WM experience on GNOME with the PaperWM extension: https://github.com/paperwm/PaperWM
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.
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.
xwayland-satellite gives you XWayland without needing compositor integration.
Hot take: the way clipboard functionality is implemented seems pretty “odd” to me, especiallly on Unix but some of the legacy probably goes all the way back to old school Mac OS or maybe even to xerox parc. In modern times, Neither Xwindows nor Wayland have done a lot to fix past mistakes. Wayland has done a lot, however, to expose the weaknesses in a very antiquated design.
I am puzzeled by the fact it took us 30-40 years to figure it out !
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.
The way people use it is you constantly reorder windows according to your workflow so DnD is not a problem.
> 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
I agree the tab model is an horror. The problem is for most people the tabs are their browsing history, with a visual clutter.
My guess is there is an huge opportunity for rethinking the whole web browser history/tab model.
You might like the tabstash browser extension
I had some hacked together python that allowed me to yank a window in and out of the stack by name and stashed a window that was the oldest in the stack (basically an LRU cache for windows)
It "worked" but I would really have enjoyed paperwm when I was in college.
There are some things that only floating WMs do right. I have a bad habit of enjoying having a few floating (pinned) copies of a document on my screen at a time in different places to cross-reference without having to move around much.
I really liked Paper WM with Gnome, but it had lots of little nits that made it frustrating to use (but it did a very admirable job for a Gnome shell extension), and I went back to Sway.
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.
Couldn't get what to work? Like, you switch to a VT, run
and it crashes, or...?If an interested and reasonably savvy person can't get a program to work as it claims, the problem is the program, not the user.
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've used i3 and moved to hyprland (because it's pretty).
From the perspective I was coming from, I don't think it matters that much, you'll run into the same issues with any of them.
It's about understanding all the things Gnome/KDE/Xfce etc do for you, and how you can set that up differently yourself using components of your choice.
[0]: https://github.com/0intro/wmii [1]: https://github.com/0intro/wmii/blob/main/cmd/wmii.rc.rc [2]: https://github.com/sunaku/wmiirc
I also only use a single monitor, trying to plug a second monitor in makes it work less than ideally, and I really wish there was drag + drop support like most other tilers, but for me it's not worth giving up the rest of KDE.
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.
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.
Otherwise it is the perfect endgame UX for me. Regardless of screen size or form factor. I never thought I'd find something that I liked better than i3/sway, but those subtle niri animations, at double speed? On a high refresh rate monitor, w/ amdgpu? Ahh. Chef's kiss <3
I knew I prefer manual tiling since the very moment I tried wmii. It was the first time tiling made sense to me, and it was a major productivity booster on my 12" laptop. On such small screen I can't care less about all those spiral, bsp and other tiling schemes automatic twms offer.
There are features Niri sorely needs: 1) 2D overview (zoom in/out), 2) enhanced meta for windows (to create window indicator [1] and window picker)
> Compare that to Gnome+paperwm (1.6GB)
Anything seems lightweight if you compare it to a DE well known for its bloat.
My WM uses 1,158K of RAM, or basically just a bit above 1M. This is a very minimal custom thing I wrote years ago that works for me.
But the previous person said "total RAM usage on boot". I was curious enough to reboot: on boot my Linux system uses 310M. That's without Xorg and starting only some very minimal services. After startx it uses about 405M.
"RAM usage" is a tricky topic. I have 32G on my machine and there's no memory pressure at all on boot, so the kernel can just allocate/cache stuff "just in case", but it doesn't necessarily need all that memory to allocate.
How much is your X server process using? Because a Wayland compositor has to be both the display server and the WM in one. Comparing OpenBox alone to Niri is incomplete and incorrect, you have to compare OpenBox+Xorg+(xcompmgr or whatever frame-perfect compositor) to get a 1:1-ish comparison.
A minimal Niri functional environment is similar to IceWM in RAM usage. I used to run antiX in VMs.
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...
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.)
Or am I misunderstanding "changed somehow to keep the selection happening after you released the mouse".
(I understand that people don't like UI changes that break their muscle memory of course.)
[0] https://github.com/YaLTeR/niri/wiki/Xwayland
I use (and pay) for the magnet app, I don't like the native fullscreen functionality or split screen options.
Aerospace has a similar resizing glitch as PaperWM.spoon: resizing one direction ends up looking wonky if you do it fast enough. It’s noticeable at the end of the smooth scrolling demo. That must be a macOS thing…
I may check out PaperWM.spoon at some point but realistically I’ll set up a VM and try out Niri
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).
And to my pleasant surprise, it seems like there may finally be an AwesomeWM alternative for Wayland now! (Pinnacle)
Cosmic Desktop (creators of pop-shell) is further innovating in this area as well.
While Niri might be easier to install on Arch I would still suggest giving PaperWM a try for a week. I ended up missing it waaay too much after disabling it for a few days on a whim and now I can't imagine using a computer without a scrolling WM given the choice.
Just uhh... Keep a keybindings cheatsheet nearby, like the one in the PaperWM GitHub repo.
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.
https://github.com/ellysaurus/KWin-TilingGuide/
https://github.com/paperwm/PaperWM
https://github.com/peterfajdiga/karousel
there might be more
(watch the bottom-right readout on the video)
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.
[0] https://herbstluftwm.org/
I use labwc currently which has the ideal workspace behaviour (one workspace shared).
and how does niri do it? a workspace is shared among all monitor, or it's one workspace per monitor?
> Display scaling (integer or fractional) will make X11 apps look blurry; this needs to be supported in xwayland-satellite.
If there's something that the Rust community does well it is capturing enthousiasm to get stuff done.
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.Last time I tried, a few weeks ago, it wasn't better.
No 'endless scrolling' aspect, but I find it works great for managing window sizing and bopping around your windows via keyboard.
https://github.com/nikitabobko/AeroSpace
But it still feels like a plastic fork and knife compared to Niri. Really wish Apple would open up more of their desktop APIs..
Niri is incredible, and has completely eliminated the mildly infuriating bin-packing and layout-optimization problems that TWMs exhibit, without sending me back to the floating WM dark ages. I wish Niri had existed like 10 years ago, but I'll accept it existing now as plenty good enough.
Viture comes to mind.
If you want to maximize all windows on run, niri can do that with a rule. It then becomes like a monocle layout where you can use swipes/keyboard/scroll wheel to navigate between maximized windows. I don't know of any DE that will run all windows maximized by default.
Too bad I no longer have an 800x600 netbook. Niri would be perfect for it.
> If you don't find yourself constantly swapping between fullscreen and non-fullscreen views and running out of workspaces, you don't have very many windows open. Don't even get me started on tabbed/stacked layouts with nested containers, the least ergonomic Band-Aid™ for the space issue I've ever seen.
On the contrary: I think this author really ought to get started on tabbed/stacking layouts! Constantly swapping between fullscreen and non-fullscreen views, like running out of workspaces, definitely sounds like an antipattern to me. I don't believe that the number of windows is the problem here.
If I'm deep into something, I might have 10 or more windows open, all on one workspace, on a 13" 1080p laptop panel. Of course, not all of the windows are visible at once. A common pattern for me is to have most of my screen taken up by a container split "horizontally" (meaning into a left side and a right side), where each side can be a tabbed container containing several windows. For example, I often have Emacs on the left, and several tabbed terminals (including man pages) on the right. Maybe some of those terminal tabs on the right are split "vertically" into a top and a bottom terminal (e.g. for a shell prompt on top and man page on bottom). Outside of this big left-right split container, which fills almost the whole screen when it's visible, I'll usually have some browser windows open. If it's just one browser window, I'll put it and the big-left-right-split (BLRS) in a stacking container. This way, you can think of the browser as being "above" the BLRS, and you can get there and back by moving the focus up and down again. It's like each stacked item (the browser and the BLRS) gets its own workspace, in that they each take up nearly the full screen when visible, but actually they're both on the same workspace, and the only cost is the loss of one title-bar's height of screen space. Then, if I want more browser windows, I can split the existing one into its own tabbed container. (I use both WM tabs and browser tabs, just like I used to use multiple browser windows on one workspace with Gnome.)
Basically, as my number of windows grows, things become (slightly!) more nested, rather than being ejected into surrounding workspaces. The trick to making this ergonomic is to choose what to stack vs tab so as to allow you to flip back and forth between (at least) any two windows with just a couple keys. (I also have two keybindings to split a container and immediately make it stacking or tabbed, and also two keybindings to focus parent-wards/child-wards. Then, you can easily jump from a window in the middle of a tabbed container on the right of the screen to the window on the left half of the screen---you just focus parent-wards then left (two keys). To get back, just focus right (one key).)
I should also add that I haven't really seen any problems with apps behaving badly when being resized, including Firefox. Maybe that's because my workflow mostly looks and feels like "slots" of a few different sizes (roughly full screen, half screen, quarter screen), and adding new windows to, or moving windows between, these slots is never going to change the size of the slots or the windows displayed in them. In fact, with traditional floating window managers, when has resizing a Firefox window ever caused me to lose my place in the page? Only when I make it super unusably narrow, or short, or both, and then expand it again. This is what would happen if you open a bunch of windows all in horizontal and/or vertical splits, with no stacking or tabbed containers! But why would you do that?
If I didn't need a Web browser and a PDF reader I wouldn't be running X at all... I wish there was a usable alternative for the browser and PDF reader that didn't require X...
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.
[olvwm]: https://en.wikipedia.org/wiki/Olvwm [distro]: https://ces.mataroa.blog/blog/distro_hoppingmd [xview]: https://github.com/olvwm/xview
This being said, time for my daily nitpicking: 7÷0.35=20, not ~21. Although I agree that 20 ≈ 21.
/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%.
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.
The Windows scene is definitely the place where the most interesting workflow advances in "traditional" tiling window managers are happening right now.
Can you name any specific features you are considering as innovative?
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.
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.