Windows shows my Desktop folder in four distinct locations in the native file manager. Some representations of my home folder have more files and folders in them than others.
I use Bash via Git4Windows as much as possible, but even there... `cd ~/git; cd ../Downloads; cd ../git` doesn't work because `..` from `~/Downloads/` is `~/One Drive/`.
It is the age old conflict, what is better a verb focused or noun focused world.
Is the core the database(the filesystem) and the apps roam around in it, or is the core the apps each with their own database.
I grew up with noun focused operating systems, which is probably why I prefer them. Here are your things and you can use various actions on them(some valid some not). And as such find the verb focused ones unpleasant to use. Here are your actions each includes it's things. But where are my things? It does not matter, each action knows where it's correct things are. But I want my things, I know they are in there somewhere. (fights the phone for a while)
> Is the core the database(the filesystem) and the apps roam around in it, or is the core the apps each with their own database.
The first option is evidently better for the user. The filesystem is a neutral entity with a well-defined interface, whereas each app is on its own journey. For a period of time that journey may align with the user's workflow, and both are happy. But there inevitably comes a time where the app and the user diverge, and for the user, it is imperative that they be able to switch to another app without losing access to their data.
To a user, the data matters most, and the filesystem, because of its neutrality, is the best model for access.
But that leads to a thing where an app has a file format that contains a bunch of its data, and it acts like a mini-database anyway, except now the user needs to remember where it is located. Then if there's data that links between multiple files and doesn't belong to a particular one, it is blurred again.
Yup it's not perfect, but in the filesystem model, the file continues to exist until an alternative solution emerges. In the app model, the file (and associated data) may be locked away forever.
No, that was just Apple and others realizing that (1) the file system needed some type of wrapper for security purposes, and (2) the move to the cloud didn't work very well with local file systems (they still don't... most of my data in the cloud isn't a "file").
I remember it like this. Windows XP and earlier was a horrible era for stability and security and the world was overall less connected. Phones were always on and always connected. The iPhone was honestly the first stable internet device, that didn't sleep or pause, and the first internet device many people had that wasn't infected by viruses.
Sure, but there were also multiple points in time (even after SP2) when you had to unplug the network to install it, because in a couple minutes of being online or in a large LAN it would get infected during the setup and shutdown. You also needed all updates and a third-party firewall on a CD. Win+R shutdown /a is still in my fingertips after all these years.
It was hailed for its improvements in stability from the time it was released. My recollection was that it was a massive improvement over 98/ME lineage. It was mostly a wash vs Windows 2000.
Yes, it became more stable with the service packs, but it was a significantly more stable OS out of the gates than anything consumer users had been getting.
Rampant malware was a separate (and very significant) issue.
No it wasn’t. XP was quite solid in terms of stability, miles beyond its predecessors. You have to remember that its mediate predecessor was Windows ME.
It was also far more secure, but it was still not nearly secure enough.
> ”Upon its release, Windows XP received critical acclaim, noting increased performance and stability (especially compared to Windows Me)…”
Weird that contemporary articles praised its stability then.
> That's one way to say "plagued by a decade of botnets."
No, it’s a way of saying that it introduced real identity-based security isolation to the OS. Prior to this every user had full access to the entire system incisions everyone else’s data who shared the system.
Unfortunately Windows XP was not hardened to the reality of the internet. (Nor were any of its predecessors.)
None use the file system in anything like the way their unix underpinning would have files be understood or organised for users. Hard to even know where your files are without asking the app to deal with them one by one. Predated phones and even Spotlight doesn’t do a good job of showing/knowing where your files are.
And why should they? I don't know where my browser cache is either. Or my rows in my sqlite database. Or the system clock configuration. Actually I do know: They're stored on the hard drive.
> And why should they? I don't know where my browser cache is either.
This makes it a pain where you want to have a custom configuration. Like moving the cache to a ramdisk. My NVME disk is plenty fast, but rarely I want my browser cache to persist across a reboot. It's a pain to move the cache to /tmp/firefox-cache as an example (/tmp is a ramdisk on my laptop). Also a pain to backup profiles.
So which is it? Is Apple not responsible for ditching the filesystem, or is it a good thing that Apple has ditched the filesystem? You can't have it both ways.
All of his wishes for window management are easily solved with i3 or a similar tiling wm. Even on macOS you can get a shitty version of it with yabai and skhd (both are awesome, it is entirely macos' fault that it still sucks).
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.
You could put it as PID 1 (with a small amount of modifications), you could put it as login shell (with a small amount of modifications), you could put it in your shell login script, or you could just do tmux a whenever you log in and tmux is already running. You can also save tmux sessions via a plugin. You can also configure each tmux window to open a specific program.
With tmux as an OS, you end up with a TUI web browser (there are several). While you can watch pictures and videos in a terminal, and vim keybinds are strong in a TUI web browser (reducing a learning curve), I wouldn't want the option to run a GUI web browser to be unavailable. So it makes more sense to have a tiling WM/DE, where with one keybind you to your terminal being fullscreen to your terminal multiplexer. But sometimes you want it floating! Then you put it (back) to floating. I also think that you can set up sway pretty much like tmux, except for the resuming/session part. Although my sway config (back when I ran sway) had an auto start of different windows with different applications.
Rooms 1986 project reminds me of Project Looking Glass [1] (or rather: the other way around). Rooms probably also inspired SGI IRIX' fsv (as seen in the movie Hackers from 1995), and Doom as a file manager. Still, I think the 3D exploration of your computer is neat. I don't know if VR glasses allow for this (they probably do), and I also don't know whether the sacrifice (it costs money, and you lose vision of your surroundings) is worth it. As such, I'm usually reminded AR is the better option, except if you want to be fully immersed. Which you very well might want to be while working.
Now, is all of this necessary? Opinion. I believe the macOS HIG is already so good (with other HIGs getting closer) that the answer is no. And for a quick terminal, you can just have a quake-like keybind (Ctrl + ~). On macOS, too, there's multiple ways to add tiling.
(There's also zellij, tmux clone written in Rust with sane defaults.)
I just wish I had a polished shell experience that was not a vram hog. Quickshell (multiple big monitors) seems to hog a lot of it, ashell and ironbar are better on resource management but require a lot of customization.
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'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)
I used OmniWM for a year (and even sponsored it) and functionally, it was great. However, the project velocity was too much (partially AI-driven, partially the inability to say no) and I was constantly forced to keep up with breaking config changes (just use an LLM to fix your config — a GH issue literally said that) and Sequoia compatibility was added, then taken back away, which was the last straw for me. I switched to the fork Nehir and things… just work. It’s got less going on, but it’s very stable and nice.
OmniWM is pretty snappy! Lots of unhandled cases that aren’t even really edge cases. Floating windows and custom menus from the toolbar are poorly handled, as is window minimization (the BSP space for a minimized window remains held). Seems to be moving in the right direction, though.
Promote alternatives to expensive and adversarial operating systems that limit your options.
Even if someone isn't inclined to be computer literate, a shared understanding that the interface can be tailored to your preferences and that many flavors of interface exist, would lead to improvements IMHO. This is already normalized in the Linux world, but that world is very small.
I really think DDH may be onto something with Omarchy Quattro — just provide (reasonably) sane defaults and have LLMs built into a Linux distro. The user can describe the operating system he wants, and the clankers handle fiddling with configs
It could be a good idea if LLMs actually worked reliably. Alas, they do not, and so it is the height of foolishness to build stuff on top that shaky foundation.
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?
Most CLI and TUI (And some GUI apps) does handles options and configuration flags. I can open mutt and cmus with a complete different configuration and database, but I don't think something like Apple Mail can do this.
"... because HTML email support is must have nowadays ..."
I don't find this to be the case.
I use (al)pine exclusively and with only three or four hacks/workarounds manage a normal, modern email workflow.
Unlike SMS where my unix-based telecom results in green bubbles, in the email world there is not even that small indication that anything is different on my end ...
This topic is similar to jigs in woodworking - you can get all fancy and over-engineer it but in the end, does it improve the product/output? If a fancy jig and a gross looking home-made jig both produce a 90 degree corner, what is the added benefit?
I think people put way too much emphasis on things like this with conclusions that they are faster and therefore its better. There is Pareto's law and a point of no return on invested time with this type of endeavor. I would feel better if people started off with "I did this because I can and I like doing things like this" vs. some argument that its better in some way.
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
Love the one-person stack energy. A small, known surface you can rebuild from muscle memory beats a pile of half-configured GUIs when you’re shipping solo.
> 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.
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 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.
This is false analogue. Comparing SWE to pianist and using desktop as the similar element is false. Desktop to SWE is like … how the concert pianist arrives at the concert venue. You want the pianist to arrive on time but you really don’t care about their mode of transportation.
Besides it’s good to take things slow when face to face with people.
Honestly, I'd rather work with engineers trying to build maintainable code than engineers who spend all the time trying to be a power user in the command line. It's possible to be both, but bad code wastes my time much more than a demo with a couple of hiccups.
I didn't mention cli on purpose, and I don't care if they can rearrange their commits in the command line or in some fancy gui, as long as they can do it. Also rarely care about aesthetics (e.g. ricing).
I'd rather observed correlation of experts who can navigate their GUIs / TUIs, and being good software engineers.
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.
Yes, the bar sometimes I have to witness, is low, very very low. I say that someone like you who even thinks and can rephrase thoughts about this, is already of the upper percentiles of capability.
OTOH presenting is a different skill. Maybe I should have elaborated that as a field expert of a (not-so-)niche thing, I often get contacted by random colleagues who will ask me to "let them quickly share their screen to show what the problem is". Their demonstrated horrific inability to "do computers" is surprising and upsetting.
Therefore I thought about this a lot in the past. Maybe the windows concept is wrong? Should there be more experiments like OP proposing? And slowly I start to believe, that probably the windows concept is okay, since you and me and thousands of others are capable, and it's just a skill issue.
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.
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.
> My notes in Apple Notes belong to Apple Notes, not my filesystem. My texts live in iMessage's database, not my Documents folder.
This is why as a Mac user I don't use those apps. Nor do I use Photos or whatever iTunes is called now. I've been burned too many times by having my work locked away in some kind of proprietary Apple database. Yes, you can usually export stuff but that's not a solution. You export your library on Day 1, do some work, and then export it again on Day 2. Quick, what changed? Where's the primary source of truth?
File systems are universal and files are portable. Any app that uses a proprietary database as its primary source of truth is an app I won't be using.
Many of these problems were already considered and solved by Xah Lee. Watch some of his videos on window management. You will see that tiling or docking windows are always suboptimal. You only need a good set of shortcuts to switching between windows so that you use the mouse less. I also have shortcuts bound to resizing windows to fixed sizes. This is all I am going to tell you. Figure out the rest.
Yeah I wish the author tried herdr or read about Superlogical rather than assume UI widgets could absorb some optimal functionality from tmux or screen
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?
Not everything is trying to be a walled garden. Only 2 apps on my machine are nonfree, and not productivity ones I would care to integrate like this. But yes it's fundamentally hard (and I don't think their suggestions are great)
> The concept of "filesystem" is an increasingly weak concept.
Yeah because Apple has broken that idea over and over and over. The anti-unix unix.
Windows shows my Desktop folder in four distinct locations in the native file manager. Some representations of my home folder have more files and folders in them than others.
I use Bash via Git4Windows as much as possible, but even there... `cd ~/git; cd ../Downloads; cd ../git` doesn't work because `..` from `~/Downloads/` is `~/One Drive/`.
It's... non-Euclidiean.
Install MSYS2, and use its Bash, for a better overall experience.
It is the age old conflict, what is better a verb focused or noun focused world.
Is the core the database(the filesystem) and the apps roam around in it, or is the core the apps each with their own database.
I grew up with noun focused operating systems, which is probably why I prefer them. Here are your things and you can use various actions on them(some valid some not). And as such find the verb focused ones unpleasant to use. Here are your actions each includes it's things. But where are my things? It does not matter, each action knows where it's correct things are. But I want my things, I know they are in there somewhere. (fights the phone for a while)
> Is the core the database(the filesystem) and the apps roam around in it, or is the core the apps each with their own database.
The first option is evidently better for the user. The filesystem is a neutral entity with a well-defined interface, whereas each app is on its own journey. For a period of time that journey may align with the user's workflow, and both are happy. But there inevitably comes a time where the app and the user diverge, and for the user, it is imperative that they be able to switch to another app without losing access to their data.
To a user, the data matters most, and the filesystem, because of its neutrality, is the best model for access.
But that leads to a thing where an app has a file format that contains a bunch of its data, and it acts like a mini-database anyway, except now the user needs to remember where it is located. Then if there's data that links between multiple files and doesn't belong to a particular one, it is blurred again.
Yup it's not perfect, but in the filesystem model, the file continues to exist until an alternative solution emerges. In the app model, the file (and associated data) may be locked away forever.
These are all relatively trivial problems, or (in the last case) essential risks of increased power.
No, that was just Apple and others realizing that (1) the file system needed some type of wrapper for security purposes, and (2) the move to the cloud didn't work very well with local file systems (they still don't... most of my data in the cloud isn't a "file").
It's nothing to do with evil old Apple and everything to do with phones being hard to type on, and search becoming better.
It is everything to do with Apple. Everything.
It started with the Ipod and the weird mp3 system, to the Ipad not shipping with a real file manager and is all so very obviously deliberate.
I remember it like this. Windows XP and earlier was a horrible era for stability and security and the world was overall less connected. Phones were always on and always connected. The iPhone was honestly the first stable internet device, that didn't sleep or pause, and the first internet device many people had that wasn't infected by viruses.
> Windows XP and earlier was a horrible era for stability and security
Huh? Windows XP was the first NT-based release for home users. It was a milestone in stability.
Sure, but there were also multiple points in time (even after SP2) when you had to unplug the network to install it, because in a couple minutes of being online or in a large LAN it would get infected during the setup and shutdown. You also needed all updates and a third-party firewall on a CD. Win+R shutdown /a is still in my fingertips after all these years.
It was more stable after the SP2, but initially it was undermined by buggy drivers and rampant malware, NT kernel or not. True, it was better than ME…
What most people remember of XP now is what it became after a couple of years of fixes and improvements, and the contrast with Vista.
It was hailed for its improvements in stability from the time it was released. My recollection was that it was a massive improvement over 98/ME lineage. It was mostly a wash vs Windows 2000.
Yes, it became more stable with the service packs, but it was a significantly more stable OS out of the gates than anything consumer users had been getting.
Rampant malware was a separate (and very significant) issue.
XP was godawful for years security- and stability-wise until the release of SP2.
No it wasn’t. XP was quite solid in terms of stability, miles beyond its predecessors. You have to remember that its mediate predecessor was Windows ME.
It was also far more secure, but it was still not nearly secure enough.
> ”Upon its release, Windows XP received critical acclaim, noting increased performance and stability (especially compared to Windows Me)…”
https://en.wikipedia.org/wiki/Windows_XP
It definitely was.
> It was also far more secure, but it was still not nearly secure enough.
That's one way to say "plagued by a decade of botnets."
> https://en.wikipedia.org/wiki/Windows_XP
Now google XP blue screen of death. Still alive and well then.
If the bar is Microsoft's most loathed release, then I guess you could call it stable and secure.
> It definitely was.
Weird that contemporary articles praised its stability then.
> That's one way to say "plagued by a decade of botnets."
No, it’s a way of saying that it introduced real identity-based security isolation to the OS. Prior to this every user had full access to the entire system incisions everyone else’s data who shared the system.
Unfortunately Windows XP was not hardened to the reality of the internet. (Nor were any of its predecessors.)
Compared to W98SE, the actual OS for home users (almost no one used ME), Windows XP was a godsend.
Security maybe, but not stability. XP SP1 was rock solid, and even RTM was nowhere close to "godawful".
iPhoto. iTunes. iCloud. iMovie. Notes.
None use the file system in anything like the way their unix underpinning would have files be understood or organised for users. Hard to even know where your files are without asking the app to deal with them one by one. Predated phones and even Spotlight doesn’t do a good job of showing/knowing where your files are.
And why should they? I don't know where my browser cache is either. Or my rows in my sqlite database. Or the system clock configuration. Actually I do know: They're stored on the hard drive.
Files aren't physical.
Diff two iPhoto libraries to check if they contain the duplicate photos
Create a new library,
import the images from both libraries (https://support.apple.com/en-us/119920)
View > Utilities > Duplicates
or use jdupes or czkawka on both directories.
Great tip, but also: exactly.
On the phone itself?
On the filesystem-enabled device called Mac commonly used for semi-pro operations like file management and backup.
> And why should they? I don't know where my browser cache is either.
This makes it a pain where you want to have a custom configuration. Like moving the cache to a ramdisk. My NVME disk is plenty fast, but rarely I want my browser cache to persist across a reboot. It's a pain to move the cache to /tmp/firefox-cache as an example (/tmp is a ramdisk on my laptop). Also a pain to backup profiles.
i know where mine is, so i can clear it myself if i care.
So which is it? Is Apple not responsible for ditching the filesystem, or is it a good thing that Apple has ditched the filesystem? You can't have it both ways.
Actually, macOS isn't Unix. It's in the name of its kernel: XNU: X is Not Unix. Don't let the fact that it's a certified Unix confuse you.
First came proprietary file formats, and they were evil. Now, un-find-able files in proprietary formats.
All of his wishes for window management are easily solved with i3 or a similar tiling wm. Even on macOS you can get a shitty version of it with yabai and skhd (both are awesome, it is entirely macos' fault that it still sucks).
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.
When I think of tmux I think of coming back to the state I've left things in when I quit more than the tiling features.
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.
You could put it as PID 1 (with a small amount of modifications), you could put it as login shell (with a small amount of modifications), you could put it in your shell login script, or you could just do tmux a whenever you log in and tmux is already running. You can also save tmux sessions via a plugin. You can also configure each tmux window to open a specific program.
With tmux as an OS, you end up with a TUI web browser (there are several). While you can watch pictures and videos in a terminal, and vim keybinds are strong in a TUI web browser (reducing a learning curve), I wouldn't want the option to run a GUI web browser to be unavailable. So it makes more sense to have a tiling WM/DE, where with one keybind you to your terminal being fullscreen to your terminal multiplexer. But sometimes you want it floating! Then you put it (back) to floating. I also think that you can set up sway pretty much like tmux, except for the resuming/session part. Although my sway config (back when I ran sway) had an auto start of different windows with different applications.
Rooms 1986 project reminds me of Project Looking Glass [1] (or rather: the other way around). Rooms probably also inspired SGI IRIX' fsv (as seen in the movie Hackers from 1995), and Doom as a file manager. Still, I think the 3D exploration of your computer is neat. I don't know if VR glasses allow for this (they probably do), and I also don't know whether the sacrifice (it costs money, and you lose vision of your surroundings) is worth it. As such, I'm usually reminded AR is the better option, except if you want to be fully immersed. Which you very well might want to be while working.
Now, is all of this necessary? Opinion. I believe the macOS HIG is already so good (with other HIGs getting closer) that the answer is no. And for a quick terminal, you can just have a quake-like keybind (Ctrl + ~). On macOS, too, there's multiple ways to add tiling.
(There's also zellij, tmux clone written in Rust with sane defaults.)
[1] https://en.wikipedia.org/wiki/Project_Looking_Glass
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.
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.
Niri is amazingly good. It is pretty well polished and just makes sense.
I just wish I had a polished shell experience that was not a vram hog. Quickshell (multiple big monitors) seems to hog a lot of it, ashell and ironbar are better on resource management but require a lot of customization.
This is Noctalia 5. It's a complete, standalone shell with no Quickshell dependency.
I checked out OmniWM[0] and watched the demo[1], it hurt my eyes. I can't understand whats going on. It's like when the cat sits on your keyboard..
[0]https://github.com/OmniNull/OmniWM
[1]https://youtu.be/WcHjGkuD2Fc
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.
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)
I used OmniWM for a year (and even sponsored it) and functionally, it was great. However, the project velocity was too much (partially AI-driven, partially the inability to say no) and I was constantly forced to keep up with breaking config changes (just use an LLM to fix your config — a GH issue literally said that) and Sequoia compatibility was added, then taken back away, which was the last straw for me. I switched to the fork Nehir and things… just work. It’s got less going on, but it’s very stable and nice.
This is my concern, OmniWM is bundling more and more functionality in, the lead dev is a bit too keen on using tokens. I may move to Nehir similarly.
OmniWM is pretty snappy! Lots of unhandled cases that aren’t even really edge cases. Floating windows and custom menus from the toolbar are poorly handled, as is window minimization (the BSP space for a minimized window remains held). Seems to be moving in the right direction, though.
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
Sounds like the perfect use of an LLM.
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™?
Promote alternatives to expensive and adversarial operating systems that limit your options.
Even if someone isn't inclined to be computer literate, a shared understanding that the interface can be tailored to your preferences and that many flavors of interface exist, would lead to improvements IMHO. This is already normalized in the Linux world, but that world is very small.
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.
I really think DDH may be onto something with Omarchy Quattro — just provide (reasonably) sane defaults and have LLMs built into a Linux distro. The user can describe the operating system he wants, and the clankers handle fiddling with configs
It could be a good idea if LLMs actually worked reliably. Alas, they do not, and so it is the height of foolishness to build stuff on top that shaky foundation.
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?
Most CLI and TUI (And some GUI apps) does handles options and configuration flags. I can open mutt and cmus with a complete different configuration and database, but I don't think something like Apple Mail can do this.
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.
"... because HTML email support is must have nowadays ..."
I don't find this to be the case.
I use (al)pine exclusively and with only three or four hacks/workarounds manage a normal, modern email workflow.
Unlike SMS where my unix-based telecom results in green bubbles, in the email world there is not even that small indication that anything is different on my end ...
This is the digital equivalent of having a mess of papers sprawled on your desk.
What a messy thing to do. Maybe fine for a project but a desktop? No.
This topic is similar to jigs in woodworking - you can get all fancy and over-engineer it but in the end, does it improve the product/output? If a fancy jig and a gross looking home-made jig both produce a 90 degree corner, what is the added benefit?
I think people put way too much emphasis on things like this with conclusions that they are faster and therefore its better. There is Pareto's law and a point of no return on invested time with this type of endeavor. I would feel better if people started off with "I did this because I can and I like doing things like this" vs. some argument that its better in some way.
It's not about the output, it's about using the tool. Imagine if you get a splinter every time you reach for your jig.
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.
Love the one-person stack energy. A small, known surface you can rebuild from muscle memory beats a pile of half-configured GUIs when you’re shipping solo.
> 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.
Yeah that's what I meant
Fwiw – Orion (webkit) has tree tabs
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 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.
This is false analogue. Comparing SWE to pianist and using desktop as the similar element is false. Desktop to SWE is like … how the concert pianist arrives at the concert venue. You want the pianist to arrive on time but you really don’t care about their mode of transportation.
Besides it’s good to take things slow when face to face with people.
Or how a carpenter arranges their tools.
Honestly, I'd rather work with engineers trying to build maintainable code than engineers who spend all the time trying to be a power user in the command line. It's possible to be both, but bad code wastes my time much more than a demo with a couple of hiccups.
I didn't mention cli on purpose, and I don't care if they can rearrange their commits in the command line or in some fancy gui, as long as they can do it. Also rarely care about aesthetics (e.g. ricing).
I'd rather observed correlation of experts who can navigate their GUIs / TUIs, and being good software engineers.
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.
Yes, the bar sometimes I have to witness, is low, very very low. I say that someone like you who even thinks and can rephrase thoughts about this, is already of the upper percentiles of capability.
OTOH presenting is a different skill. Maybe I should have elaborated that as a field expert of a (not-so-)niche thing, I often get contacted by random colleagues who will ask me to "let them quickly share their screen to show what the problem is". Their demonstrated horrific inability to "do computers" is surprising and upsetting.
Therefore I thought about this a lot in the past. Maybe the windows concept is wrong? Should there be more experiments like OP proposing? And slowly I start to believe, that probably the windows concept is okay, since you and me and thousands of others are capable, and it's just a skill issue.
nvim has all the functions of tmux and also it has an editor.
Make nvim the OS
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!
I was wondering who would use small LLM to improve layout, selection and switching of windows.. pretty fun.
Off topic, but where’s the border between a "small large language model" and a "small language model"?
I'm pretty much a newb, I just meant something light and runnable on a normal machine.
So, a tiling WM?
To be clear, I'm not a UI/UX designer.
Just be clear, FFS. These parasitic innuendos are annoying. Be frank while you are at it and tbh jic.
I stopped reading after that.
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.
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.
My answer to this: EXWM or Ratpoison
Or use a twm
twm(1)? <https://manpages.debian.org/trixie/twm/twm.1.en.html>
one of many options.
> My notes in Apple Notes belong to Apple Notes, not my filesystem. My texts live in iMessage's database, not my Documents folder.
This is why as a Mac user I don't use those apps. Nor do I use Photos or whatever iTunes is called now. I've been burned too many times by having my work locked away in some kind of proprietary Apple database. Yes, you can usually export stuff but that's not a solution. You export your library on Day 1, do some work, and then export it again on Day 2. Quick, what changed? Where's the primary source of truth?
File systems are universal and files are portable. Any app that uses a proprietary database as its primary source of truth is an app I won't be using.
Many of these problems were already considered and solved by Xah Lee. Watch some of his videos on window management. You will see that tiling or docking windows are always suboptimal. You only need a good set of shortcuts to switching between windows so that you use the mouse less. I also have shortcuts bound to resizing windows to fixed sizes. This is all I am going to tell you. Figure out the rest.
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
Yeah I wish the author tried herdr or read about Superlogical rather than assume UI widgets could absorb some optimal functionality from tmux or screen
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.
Not everything is trying to be a walled garden. Only 2 apps on my machine are nonfree, and not productivity ones I would care to integrate like this. But yes it's fundamentally hard (and I don't think their suggestions are great)