I have now used a Mac for a little while as my main machine. The Apple ecosystem is amazing, but macOS from a UX perspective leaves a lot to be desired. I'd take Gnome or i3 over it any day. The Mac saves me time in my current stage of life though, so it wins out for now.
I recently had to install Windows on a machine and the installation process drove me insane. There's tens of things you need to disable to avoid being tracked on a machine _you own_.
Linux is the only OS that leaves the user in the position of power. Treasure your i3 setup. I really hope it lasts for more decades to come.
> I really hope it lasts for more decades to come.
What I love most about Linux is you can keep the same workflow for as long as you like. Of course, in practice you always end up tweaking and improving, but it's not on the whim of the decisions of some corporation.
I was also in love with i3 when i was using Linux most of the time. My first Linux machine was around 2002. Back when Ubuntu just started shipping CD’s around the globe to spread the word (“love”) of open source. So I also jumped on the tiling wm wagon quite early on. With i3 being my favorite for its simplicity.
Due to the nature of my work and clients, using Mac or MS Windows as primary OS has been too prevalent. It’s easier to go with the flow than fight it.
So over the years i’ve learned to let go of the highly optimized desktop workflow and started to simplify it instead. Think of keeping less windows around to create better focus. Or use tabs more as a way to group related work.
I see a similar behavior with my vim usage. I used to have very heavily customized vim config. Nowadays i just stick with stock config. I guess over the years i started to embrace defaults more. It’s easier for me to learn defaults than to fight the “system”.
Pretty sure i would still be using i3 if my professional environment was more flexible (less enterprise).
Note that modern Linux is also leaning towards the same trend. But i admit it is still much easier to avoid those for power users. Snap, i'm looking at you also...
A small note, you (formally) own the hw, but commercial OSes are just licensed: you do not own them, their vendor own them an allow you limited rights on them... Yes, it's absurd, but that's is...
Very much this. I really want Linux to prevail but Apple is just too hard to beat at this point with so I just cave in. Don't get me wrong, I use Linux on a X1 Carbon Lenovo and I love it, I think it's the only OS I feel fast and have total control and but unfortunately Apple hardware and software has come a long way because of its totalitarian regime and it shows. It just works.
On a tangential note, I find window management in MacOS much more horrible than Windows. Want to split windows, you end up with full screen. When on multiple monitors, selecting an app on one screen makes the same app active on the other screen (or sometimes it doesn't). I am willing to rewire my habits if I can just figure out how to make Mac window manager behave deterministically. I just don't get what is the grammar of user interaction that the designers went for.
It has been a while since I've used Mac OS, so I don't know if my comment is still valid:
The original Macintosh could only run one application at a time, though the application could have several documents open at a time. With the introduction of multitasking, a decision had to be made. Apple decided to go with something that resembles the multiple document interface, except all of the windows for a single application were effectively placed on a single layer (rather than being contained within another window, which was quite common on Windows back in the day). What you are seeing in that multiple screen setup is effectively a historical artifact.
For folks wanting to use i3 in their Ubuntu environment, I'd highly recommend https://regolith-desktop.com/! It solved many of my own problems with wanting an i3 setup that "just works" without installing a different distro, plus has lots of nifty options and themes.
Is there an advantage to using i3 over manual tiling with Super+Arrow keys in any DE? My desktop almost looks like that screenshot anyway without using i3.
Also, what about it is "unreasonable"? I don't understand.
The tiling-first paradigm of tiling WM feels less chaotic than using a standard floaty WM like Windows. For example, in Sway/i3 you get ~10 desktops by default, and tab between them with (eg) Win Key + [Number].
So you can set up your programs and tabs in a predictable way, eg web browser is always 1, working terminal is 2, notes program is 3, etc.
Whereas on Windows I'm always losing the tab I'm looking for, when trying to alt-tab between things. I know that there are better tools now, like Win Key + Tab (Which does also allow you to set up virtual desktops and have completely separate sets of programs visibly running) but it doesn't feel like the primary mode this desktop environment was designed for.
As far as splitting tabs, resizing, etc, Windows 11 is more polishing and feels really nice to use but functionality feels same same as Sway/i3 to me.
Ethos: I use both Sway (Wayland spiritual successor to i3 [which is X11 based]) and Windows 11 on a daily basis.
Author here: you're absolutely right. The title is over the top and it's not explained well in the article. It was just a random Sunday thought that I wanted to get out on my blog ;)
But to elaborate a bit: i3 is very minimalistic, doesn't get in the way, is super stable in operating and hasn't really changed in 15 years. That makes it unreasonably effective compared to other systems in my view.
The big one mentioned by the author is that Windows tends to get continual user interface refreshes. Desktop environments are much the same, though some change at a much slower pace. I think the absence of change is a good thing since it allows me to devote time to learning new skills rather than relearning old ones.
I also appreciate environments like i3 have less visual clutter. If you were to look at my desktop, you would see precisely six things on it: the application windows, the current time, the battery status, the network status, a list of virtual desktops, and a toggle to disable the screensaver. There is nothing to pull my focus away from the task at hand, not even in the background.
Of course, I also have a laundry list of other quality of life features. Most of those features would be pointless to point out since they would be irrelevant to most people. (To give one example of what I mean: configuration is done through a simple collection of text files, so it is easy to carry my configuration from one account to another. This isn't so much a benefit of tiling window managers, since it is true of most window managers. It is better described as a drawback of complex desktop environments.)
The unreasonable title fits for multiple reasons, one of which is illustrated by your comment:
1. At first glance most people don’t even see the difference between i3 and most other OSes.
2. The entire OS industry, from Windows, macOS, iOS, Android, the vast majority of Linux DEs, changed the UI every few years. The implication being that the UIs improve with those changes. The author by not changing their OS’es UI/UX and preferring that is going against the industry expectation (ie being unreasonable).
In terms of advantages of i3 over other options, there are many.
1. The UI is extremely keyboard focused. You basically never have to use a mouse unless the application itself requires it.
2. It’s trivial to add a new window and remain tiled unlike non tiling window managers where you need to manually tile.
3. Workspaces! Switching between upto 10 workspaces is trivial (I used to have 10…I’m sure you can do more but even 10 were too many for me).
4. Performance. The UI was just way faster than any other OS I’ve used even when overlayed on top of Gnome.
I've used i3, dwm, and xMonad - currently found bliss in qtile, since it's extremely easy to customize any part of the environment, from the bar, widgets, layouts, hooks, etc.
- a button brings up a rofi to select one of the folders in my home dir
- It automatically creates a window Group ("desktop") when one of these is selected, and chdirs into that folder.
- There are keys for a browser profile (qutebrowser!) and tmux session for the current group, which are always created or focused with the same key, so if I close one mistakenly, or power-off my machine, these keys bring me right back where I was.
- I have a key for the "main" application of a workspace - typically the IDE - but this "main" application can be configured per workspace with a little marker-file.
- I then have mod+s, which switches between all windows that are not one of the three above (what xMonad would call 'boring' windows).
- I have another rofi for showing all open apps across all groups - and switching to the selected group + focusing the selected app.
- I have one more rofi, for selecting a group (or directory name) to move the focused window into it.
- Offtopic, but I also have some rofis for workspace-specific clipboard history and a workspace todo file, the top-line of which is echoed into the bar, to keep me on track.
The layout is the smallest part of it all, although being able to have whatever my imagination can desire in terms of layout IS kind of nice. I default to single-window 'monacle' layout, and spend most of my time in a standard "columns" layout.
In qtile's column layout, we can 'maximize' windows in a particular column, instead of stacking them vertically. now, windows can be hidden ("lost" is the commonly used word), but knowing exactly which key moves to which window means it becomes more about "feeling that I need X" rather than "finding X" - it just appears when I want it.
It's one of my favorite moments, and it always comes - when someone's watching me do a merge, or i'm having a skype session - people can't really believe how fast I can move. I have to narrate with the brakes on. And watching someone use regular window managers, even with some tiling shortcuts, is inexpressibly frustrating.
Not sure how common this is, but I’ve set certain apps to automatically open on certain workspaces so all my terminals live in workspace 1, text editors in 2, web browsers in 3. That way I can navigate to each of them with a single keystroke.
I also really enjoy being able to open a new terminal with a single keystroke.
> Not sure how common this is, but I’ve set certain apps to automatically open on certain workspaces [...]
I suspect many of us use a variation of the theme. I do something similar, only it is task oriented rather than program oriented. (I also extend the theme by having separate virtual consoles logged into my personal account and my work account.)
Separate virtual consoles for work and personal? I didn't realize this was possible! I think because prior desktops of mine would always put my X session on F7 so I assumed I could only run one of them. Anyway I just tried it and it totally works just as you'd expect with the X session staying on the appropriate function key. Thanks for mentioning it, learned something new and very useful
Even though I currently use this setup with Wayland, I originally came across it with X. I am fairly certain this is how switching between accounts works, via more user-friendly means, but I find that directly switching between virtual consoles is more efficient for two reasons: it is far easier to guarantee a particular session is on a particular virtual console, so switching between sessions is more predictable (e.g. my personal session is always on console 1, and work session is always on console 2); on top of that, I don't have to concern myself with re-logging into a session. At worse, I simply enter the password. In practice, I usually have screen locking disable on my personal session (since I don't have to worry about confidential information) and only have to enter a password on my work session (since I am concerned about potentially confidential information of others).
That's interesting. I tend to use each workspace for a different project, with a browser on one workspace. Not very clever. What are you swapping workspaces with? My KB has 8 dedicated mappable keys and I have some of those set to Super+1 through 5, because Super+1 is an awkward combo.
I've mapped Super to Caps Lock so that helps keep it ergonomic, and so I continue to use Super 1-10. Super+1 would not be fun to type otherwise, agreed!
If your toolbox (dictated by your profession) is slightly richer than console applications, you automatically dealing with the applications which are natively "tiled" inside the application windows. And you work with maximized windows of your main applications (natively "tiled" inside) and with a set of small applications that you need to access periodically and these apps do not require full screen mode.
You can alt-tab between them on a single screen, you can switch or swipe virtual desktops with them, you can do anything, a result will be the same.
i3 auto tiles so you don't have to press Super+Arrow for every new window. It's also better at rearranging, with modes like virtual desktops, tabs, etc.
If you have 2 windows side by side, nothing. If you have 4 windows and want 3 columns and the left column with two windows on top of each other, there is a lot. Usually it is something like [docs | nvim | (terminal | top or something running)] for me.
And then, if you have more windows, and want to move them between workspaces, move windows within the workspace, send them to background, and don´t want to use the mouse, it will show more value.
I deeply love tiling window managers. Seems a bit exaggerated, but just an hour of practice with it and a cheatsheet handy really hooked me. Yeah it might be 'ugly' but the sheer speed I can arrange an entire desktop, and also have additional desktops on hotkey was a real productivity improvement for me. Boring is good!
One thing that made my i3 experience complete is discovering the Vimium browser extension that allows you to completely control your browser using the keyboard shortcuts you already know. Fundamentally changed the way I use browsers.
Could've been a post by me. Almost the same journey that started two years earlier. From GNOME 2 to lxde to i3. Less moving parts means less things that break. I can introduce new tools to my workflow as I see fit, not as some huge DE decides to do with a big overhaul between versions. After enough hassle with gvfs and auto mount, I even ditched that and now mount every USB device I plug in via the command line. It sure is archaic, but it works and becomes second nature after a while. I've dist-upgraded one desktop system for about a decade now with zero surprises.
My setup is similar; but it would be a mistake to only consider the destination. Settling on a system is a 2 or 3 phase process - a highly exploratory phase to work out what features exist and which you need. A second phase to identify which communities most align with your needs and how stable they are. Then finally a third long comfortable phase of actually using the software.
Phase 3 should always look like some combination of the most boring technologies available. But people who've made it to that phase are only useful signposts to someone who has made it through the fist phase and really explored the space.
In theory it is possible can jump straight through the whole process by just copying someone else; but although most people use that strategy I don't see how it would lead them to an i3/Debian/Linux stack. If the goal is to follow what is popular, probably MacOS or whatever Ubuntu does by default these days is a better bet.
I have used i3, then EXWM witch is still my current WM, the point? It's not the WM per se, it's the tiling model the winner. Floating windows is a ridiculous idea essentially useless 99% of the time (and most tiling WM allow floating for the 1% of the time needs), as it's ridiculous the classical desktop model born to mimic a physical desktop with something on top in an office, with in the digital words icons that get covered by any opened apps impeding to launch through them other apps/new instances.
It's simply a legacy of a long commercial tentative to makes IT-illiterate using computer trying to recreate virtual environment and concepts that exists in the classic world, that's why we have "folders" instead of "directories" (mimicking suspended folders) and so on. When we get rid of such legacy things will be far better.
I recently had to install Windows on a machine and the installation process drove me insane. There's tens of things you need to disable to avoid being tracked on a machine _you own_.
Linux is the only OS that leaves the user in the position of power. Treasure your i3 setup. I really hope it lasts for more decades to come.