Interesting and expansive post about what the modern desktop experience should be like, and most of it has nothing to do with Tmux except if you squint in some very particular way.
Yeah, I was expecting yet another post about going back to 1980's UNIX, CP/M, MS-DOS/Novell, MVS, VMS,... experience from people that didn't had to put up with the experience in first place.
Interesting idea. My problem is that one “stream” usually spans multiple apps that silo data. So i have an email from a client and command line and a tab in chrome and maybe a note and an excel file. There are of course exceptions to this, but in real life we bring tools to the project not the other way around. Naturally some “projects” might have sub projects, or some might be transient - a quick email reply. You might organize your digital life this way - with virtual desktops, but why can’t the computer keep track?
I've used paperspoon but it's very laggy. Paneru is better but 3 finger swipe up or down shows all windows on all workspaces which makes it impossible to pick the window you want. (which paperwm didn't do)
Afyer years of using tiling WMs, Niri was such a huge improvement. You don't really have to think about anything anymore, it just clicks. You always know where windows are (lile with tiling), but you also don't have to worry how to place them.
I like articles that discuss out of ordinary approaches. This is one of those, and I relate to the pain the writer also has.
However...
> Different people use windows totally differently.
The older I get, the more impatient I am with this. In the industry, we normalized that high paid software developers (who are way better programmers, or infra people than I am) waste hundreds of engineering hours with their absolutely broken window management, and command-tab hell. Whenever I have to witness a screenshare of a colleague, my time is also wasted.
I wish this would be an interview gating: show us how you manage yourself in this big monorepo, switching tasks, windows, tabs, desktops, SSHs etc. Do not normalize noob time wasting.
Different people also use pianos differently. Yet, we don't appreciate a noob pushing random keys around it. It would be unpleasant to the ear, just how unpleasant (painful) it is to witness macOSs/gnomes bubblegum horror of sloppily animated chaos.
Back to my point: windows (as in viewports) are with us for many decades. I don't care if you tile, stack, infinite scroll them. Just be productive. Invest upfront in learning, be fast, and be able to explain what I you try to show me on screen.
There will be no one size fits for all, and that part I understand. But please have more dexterity with your desktop abilities than my grandma.
It's hard to argue with this, yet, I never learned to touch type or type fast, never bothered to learn a bunch of vim or emacs hot keys or rice a vim setup. I use pretty basic editors and ides that barely qualify as ides.
Everyone else around me blazes at the simple act of typing. And far fewer but some have powerful vim setups where they can do inarguably useful things fast.
You would be agonized to watch me type code.
But for 30+ years it never mattered. I spend 10x more time thinking than typing, or jumping around refactoring 300 things all over the place every 5 minutes, and propduce results that work, are efficient, and fail far more gracefully than everyone else.
(I'm not claiming to trade iteration for get-it-right-the-first-time, I obviously iterate and I'd even say the correctness of the final result is mostly the result of iteration).
Maybe it doesn't conflict with your point because even so I wouldn't exactly say I'm no more functional than your grandma, so maybe typing and vim/ide-ricing are just a couple of exceptions that I can afford to get wrong as long as everything else is good.
Though I don't know what else there even is to be "fast" at. I don't think I really even understand how one can be good or bad at mere window management. ssh-ing? What is there to that? knowing how to manage keys?
However, all in all, I like this. Even if it means I'd currently fall on the wrong side of this idea, I think I agree with this idea to have an expectation of basic competency with the tools in any field one would presume to get paid for. Maybe even now I should just suck it up and learn to type and develop a powerful vim setup.
Vertical tabs is a feature in some modern browsers (all?), toggled in settings
Virtual desktops might help some people where you just ctrl+alt+left/right to move to them, instead of multiple monitors (where applicable). Or just fullscreen apps and I think it's like ctrl+tab to switch between a bunch of them
The only way to keep all the files on the filesystem is probably to avoid the silos
I guess we could ironically / unironically ask AI for some OS design tips for our setups haha
I very nearly didn't check this out because I didn't realise the focus was going to be much more general OS, but it's a great piece, well thought through.
Persistence is something I care about, Tmux allow that between different sessions, local or otherwise, Windows Remote Desktop also makes it simple to continue work remotely. What bothers me is that the OS will eventually need to reboot, and the user is expected to reconfigure the sessions afterwards, at least partially.
I think a modern computer should be able to update its software, kernel included, in a way that the state of the userland could be kept, even with an actual reboot.
> The best two examples of this are the Arc browser and Chrome OS. But I think Arc is actually the more interesting of the two experiments. Their first innovation was to break the idea of tabs at the top and instead move it to be a sidebar model.
I will forever hate Arc for popularizing vertical tabs the way they did.
Vertical tabs were a thing since at least the Tree Style Tabs extension (2007), except the Tree Style Tabs were infinitely cooler, because they were a tree, not a list, and right click->open in new tab, would open the new tab as a child of the current tab.
So you could have a hacker news tab during your break, start opening a bunch of articles, read through them, simply un-expand the HN sub-tree, go to work, and then re-expand it during your next break.
Because of Arc, everyone is now implementing vertical tabs, but no one is implementing Tree Style Tabs, and, probably no one ever will again.
Kind of weird that the author does not make clear what a "normal person" is, despite this being a central concept to their article.
Personally I don't think it is normal to be unable to double click on i3wm in some graphical apt wrapper and then pick it from a scroll list at login. People use shortcuts in Windows all the time. Having more than one workspace might have been foreign to most a decade or two ago, but these days external monitors are common and workspaces are basically that.
I've seen people who I would not consider abnormal go from weird misconceptions about i3wm to efficiently sending around windows between workspaces and screens in a day. If you want you can also click your way through it, and configuration is generated for you after you decide whether you want Alt or Super as the core command key. Defaults are rather sensible, so you don't have to fiddle with them until you've got some experience.
Historically user interfaces on web pages and in Windows and Mac OS:s has changed quite a bit and people who I think most would consider normal managed to adapt.
This talk about "the future" is nonsense. UI is art, not engineering. What some love, others will inevitably hate. This is where unix/linux is light-years ahead of the competition. Unlike Windows/OSX/iOS, you can make your own mixtape.
That, and Steve Jobs died a long-ass time ago. The hand-wringing over "config files" in the age of qwen3 you can run on a 10-year-old GPU is no longer as relevant as it once was. Language got us this far. The checkboxes and picklists of PARC were a detour that is now (thankfully) in our rear-view mirror. Config files are awesome.
> The ideal would be "across my entire computer and applications, what are the recent files I have interacted with" and expand that out to include emails and Teams/Slacks and everything. I should be able to see everything going on with my machine, search through it and not care if its stored inside of Slack or iCloud or whatever. Single pane of glass.
Nope. This would be great if it worked.
This idea of getting rid of the file system is very old, tired and has failed. And failed. And failed.
…and you know apps hate? Letting you out of their walled gardens.
> Microsoft tried it, people didn't like it,
Yup.
> but I think the concept makes sense.
Nope.
You’re going to have to do better than trying this again.
Something something local LLM? Mm.
It’s a Hard Problem. The kind of problem that random engineers look at and go “doesn’t seem that hard, I could do that in a weekend”.
…
> In the interest of full disclosure I think this is gonna take many weekends of work to even get a functional demo running. So I'll do my best, but be patient.
Okay, to be fair, the author did acknowledge that it’s a lot of work and it’s hard; and I look forward to seeing the result, because experiments in this space are interesting, the idea of a visual tmux maybe has some legs…
…but I think this project is too ambitious to succeed.
Not being the default isn't what stops these concept desktops from taking off; it’s that people don’t like them.
No file system, you just get “tasks” and an LLM to pray to and hope you get your data from?
Interesting and expansive post about what the modern desktop experience should be like, and most of it has nothing to do with Tmux except if you squint in some very particular way.
Yeah, I was expecting yet another post about going back to 1980's UNIX, CP/M, MS-DOS/Novell, MVS, VMS,... experience from people that didn't had to put up with the experience in first place.
Interesting idea. My problem is that one “stream” usually spans multiple apps that silo data. So i have an email from a client and command line and a tab in chrome and maybe a note and an excel file. There are of course exceptions to this, but in real life we bring tools to the project not the other way around. Naturally some “projects” might have sub projects, or some might be transient - a quick email reply. You might organize your digital life this way - with virtual desktops, but why can’t the computer keep track?
how can this not refer to emacs?
emacs -> screen -> tmux -> tmux integrated into <terminal app>
appears to be the path.
I guess the fork was "emacs before X" to "emacs after X but we retrofiited some ideas from X into the terminal" -> <the rest is history>
I advise to check Emacs history before its widespread adoption on UNIX.
Especially Zmacs and XEmacs, and how their features eventually found a way back into Emacs proper.
Too bad config is a no go for the poster, otherwise hyprland or i3 would do everything, even the quake overlay.
I was reading this and thinking about it too — sounds like author wants a tiling WM but with a friendlier UX?
I honestly don't get why they ignore existing options due to configs. Give it a try, maybe it won't be _that_ bad.
I think the author was saying that the UX has to be good for it to gain wide (non developer) adoption.
Most of the non developers I know don't want to write prose, let alone a .ini file
If he spent half the time it took to write that blog post on config, the problem might be solved.
That solves it for him. But how do we make the world™ better™?
Desktop shells may be the answer. I use Noctalia with Niri and it's a smooth ride. Were I not a NixOs nerd I'd recommend this setup to any noob.
Niri or Umbriel with Noctalia shell is a wonderful experience, you can get similar on Mac with OmniWM. I briefly tried komorebi for windows too.
How's OmniWM?
I've used paperspoon but it's very laggy. Paneru is better but 3 finger swipe up or down shows all windows on all workspaces which makes it impossible to pick the window you want. (which paperwm didn't do)
Afyer years of using tiling WMs, Niri was such a huge improvement. You don't really have to think about anything anymore, it just clicks. You always know where windows are (lile with tiling), but you also don't have to worry how to place them.
I like articles that discuss out of ordinary approaches. This is one of those, and I relate to the pain the writer also has.
However...
> Different people use windows totally differently.
The older I get, the more impatient I am with this. In the industry, we normalized that high paid software developers (who are way better programmers, or infra people than I am) waste hundreds of engineering hours with their absolutely broken window management, and command-tab hell. Whenever I have to witness a screenshare of a colleague, my time is also wasted.
I wish this would be an interview gating: show us how you manage yourself in this big monorepo, switching tasks, windows, tabs, desktops, SSHs etc. Do not normalize noob time wasting.
Different people also use pianos differently. Yet, we don't appreciate a noob pushing random keys around it. It would be unpleasant to the ear, just how unpleasant (painful) it is to witness macOSs/gnomes bubblegum horror of sloppily animated chaos.
Back to my point: windows (as in viewports) are with us for many decades. I don't care if you tile, stack, infinite scroll them. Just be productive. Invest upfront in learning, be fast, and be able to explain what I you try to show me on screen.
There will be no one size fits for all, and that part I understand. But please have more dexterity with your desktop abilities than my grandma.
It's hard to argue with this, yet, I never learned to touch type or type fast, never bothered to learn a bunch of vim or emacs hot keys or rice a vim setup. I use pretty basic editors and ides that barely qualify as ides.
Everyone else around me blazes at the simple act of typing. And far fewer but some have powerful vim setups where they can do inarguably useful things fast.
You would be agonized to watch me type code.
But for 30+ years it never mattered. I spend 10x more time thinking than typing, or jumping around refactoring 300 things all over the place every 5 minutes, and propduce results that work, are efficient, and fail far more gracefully than everyone else.
(I'm not claiming to trade iteration for get-it-right-the-first-time, I obviously iterate and I'd even say the correctness of the final result is mostly the result of iteration).
Maybe it doesn't conflict with your point because even so I wouldn't exactly say I'm no more functional than your grandma, so maybe typing and vim/ide-ricing are just a couple of exceptions that I can afford to get wrong as long as everything else is good.
Though I don't know what else there even is to be "fast" at. I don't think I really even understand how one can be good or bad at mere window management. ssh-ing? What is there to that? knowing how to manage keys?
However, all in all, I like this. Even if it means I'd currently fall on the wrong side of this idea, I think I agree with this idea to have an expectation of basic competency with the tools in any field one would presume to get paid for. Maybe even now I should just suck it up and learn to type and develop a powerful vim setup.
GP reads to me as “when sharing your process, be fluid instead of bumbling.”
Things like “uh, where’s that file again?”, “the window disappeared”, etc shouldn’t happen during screen sharing, pairing, and demos.
In other words: be a good presenter.
Oh god if that's all, yeah ok the bar is far lower than I was thinking. But yeah I've seen that so yeah.
Vertical tabs is a feature in some modern browsers (all?), toggled in settings
Virtual desktops might help some people where you just ctrl+alt+left/right to move to them, instead of multiple monitors (where applicable). Or just fullscreen apps and I think it's like ctrl+tab to switch between a bunch of them
The only way to keep all the files on the filesystem is probably to avoid the silos
I guess we could ironically / unironically ask AI for some OS design tips for our setups haha
I don't see why vertical tabs are any better though. I don't want tabs, but one window manager to rule everything.
I very nearly didn't check this out because I didn't realise the focus was going to be much more general OS, but it's a great piece, well thought through.
I solved exactly that problem I and I sell it to those willing: https://race-term.com
It is multiplexer so survives app kills, and interface is heavily keyboard driven.
I tried running email in it though resigned (and guess what, wrote my own) because HTML email support is must have nowadays.
What a messy thing to do. Maybe fine for a project but a desktop? No.
Or use a twm
twm(1)? <https://manpages.debian.org/trixie/twm/twm.1.en.html>
one of many options.
My answer to this: EXWM or Ratpoison
Persistence is something I care about, Tmux allow that between different sessions, local or otherwise, Windows Remote Desktop also makes it simple to continue work remotely. What bothers me is that the OS will eventually need to reboot, and the user is expected to reconfigure the sessions afterwards, at least partially.
I think a modern computer should be able to update its software, kernel included, in a way that the state of the userland could be kept, even with an actual reboot.
Check out tmux-continuum and tmux-resurrect plugins.
TIL about tmux plugins. I started using tmux more actively recently and these will solve all my problems!
> The best two examples of this are the Arc browser and Chrome OS. But I think Arc is actually the more interesting of the two experiments. Their first innovation was to break the idea of tabs at the top and instead move it to be a sidebar model.
I will forever hate Arc for popularizing vertical tabs the way they did.
Vertical tabs were a thing since at least the Tree Style Tabs extension (2007), except the Tree Style Tabs were infinitely cooler, because they were a tree, not a list, and right click->open in new tab, would open the new tab as a child of the current tab.
So you could have a hacker news tab during your break, start opening a bunch of articles, read through them, simply un-expand the HN sub-tree, go to work, and then re-expand it during your next break.
Because of Arc, everyone is now implementing vertical tabs, but no one is implementing Tree Style Tabs, and, probably no one ever will again.
Did you know that a custom version of TST is the native tab handling mechanism in Waterfox?
And the latest release also brings back a native RSS reader?
Give it a look. You might like it.
Check out Tabius if you use Chrome. It automatically creates and opens new tabs in a group as you describe in your second to last paragraph.
Afaik tab groups are a much weaker idea because they are non-recursive.
s/recursive/nested? I don’t remember Tree style tabs supporting recursion.
Fwiw – Orion (webkit) has tree tabs
So, a tiling WM?
Love it. High recognition factor. The only things that matter this side of the AI-revolution is window management
> I don't have a single fucking clue how MacOS populates this window
Nobody does, but it’s provocative! Gets the people going!
I’ve leaned into Aerospace for window management, herdr for terminal and good ol’ Chrome for browsing.
I put my hope to Superlogical by the Ghostty-guy to solve all my MUX problems
Actually for me it's different.
I've been using Tmux and later Zellij for many years, while I was on Ubuntu's Unity, then Gnome, KDE, i3 and lastly sway.
Until I switched to niri (https://github.com/niri-wm/niri) ... since then I haven't used tmux at all.
Very weird, come to think of.
Kind of weird that the author does not make clear what a "normal person" is, despite this being a central concept to their article.
Personally I don't think it is normal to be unable to double click on i3wm in some graphical apt wrapper and then pick it from a scroll list at login. People use shortcuts in Windows all the time. Having more than one workspace might have been foreign to most a decade or two ago, but these days external monitors are common and workspaces are basically that.
I've seen people who I would not consider abnormal go from weird misconceptions about i3wm to efficiently sending around windows between workspaces and screens in a day. If you want you can also click your way through it, and configuration is generated for you after you decide whether you want Alt or Super as the core command key. Defaults are rather sensible, so you don't have to fiddle with them until you've got some experience.
Historically user interfaces on web pages and in Windows and Mac OS:s has changed quite a bit and people who I think most would consider normal managed to adapt.
> but these days external monitors are common
The assumption that everyone is using a laptop is interesting there.
This talk about "the future" is nonsense. UI is art, not engineering. What some love, others will inevitably hate. This is where unix/linux is light-years ahead of the competition. Unlike Windows/OSX/iOS, you can make your own mixtape.
That, and Steve Jobs died a long-ass time ago. The hand-wringing over "config files" in the age of qwen3 you can run on a 10-year-old GPU is no longer as relevant as it once was. Language got us this far. The checkboxes and picklists of PARC were a detour that is now (thankfully) in our rear-view mirror. Config files are awesome.
t. i3 user
> Filesystems as a weak abstraction.
Is a concept the author needs to get over.
> The ideal would be "across my entire computer and applications, what are the recent files I have interacted with" and expand that out to include emails and Teams/Slacks and everything. I should be able to see everything going on with my machine, search through it and not care if its stored inside of Slack or iCloud or whatever. Single pane of glass.
Nope. This would be great if it worked.
This idea of getting rid of the file system is very old, tired and has failed. And failed. And failed.
…and you know apps hate? Letting you out of their walled gardens.
> Microsoft tried it, people didn't like it,
Yup.
> but I think the concept makes sense.
Nope.
You’re going to have to do better than trying this again.
Something something local LLM? Mm.
It’s a Hard Problem. The kind of problem that random engineers look at and go “doesn’t seem that hard, I could do that in a weekend”.
…
> In the interest of full disclosure I think this is gonna take many weekends of work to even get a functional demo running. So I'll do my best, but be patient.
Okay, to be fair, the author did acknowledge that it’s a lot of work and it’s hard; and I look forward to seeing the result, because experiments in this space are interesting, the idea of a visual tmux maybe has some legs…
…but I think this project is too ambitious to succeed.
Not being the default isn't what stops these concept desktops from taking off; it’s that people don’t like them.
No file system, you just get “tasks” and an LLM to pray to and hope you get your data from?
:/ I don’t think it’ll fly.