I got into computers when there was no GUI.
Then years later I got a Win95 PC and I found the Windows GUI pretty good - although the rest of the OS was not. My personal Linux PC running Slackware 96 came with FVWM95 wich was a good approximation. So I switched to that.
That was just for graphical utilities of course - of which there weren’t very many. I spent the rest of my time in the Linux console or in xterm using screen for convenience.
Fast-forward to today: I still do that. I still like the Win95 UI paradigm, so I run Mint / Cinnamon. But most of what I do with it is open a Gnome terminal, blow it up and start tmux - like screen but better.
And, ya know, for almost 3 decades, whether it’s Mint or anything else I used, that’s pretty much what I’ve been doing: running screen in a terminal in a Win95-like GUI. And it works fine for me.
I recently ordered a laptop that comes with Debian / Wayland and the Sway window manager installed by default. I learned a long time ago that it’s often better to go with whatever is installed by default than try to reinstall everything and fight a system that wasn’t designed for it.
The laptop will take a few weeks to get here. So to prepare for when it lands on my porch, I decided to get into Sway on my current machine, to get used to it. I figured even if I don’t like it, at least that way I’ll be comfortable with it, and I’ll know whether it’s acceptable as it is or whether I should spend the time installing something more Win95-like.
But my current machine doesn’t run Wayland, just plain Xorg. 2 minutes of searching revealed that Sway is in fact i3wm for Wayland.
Great! I promptly installed i3 on my Linux Mint box, switch to it, fucked around with the config file for a few hours and… I love it! That’s pretty much exactly what I do with Cinnamon anyway but quicker!
And just like that, I switch to i3. I felt right at home with it from the get-go. The whole Win95-like UI was just a familiarity: in fact, what I’ve always wanted was a tiling window manager.
And yes, I did spend a few hours - almost half a day really - configuring the thing exactly how I like. But if I’m honest, I probably spent just as much time with Cinnamon way back when I switched to that too. So it’s no different really.
So the takeaway here is: even if you have decades-old die-hard habits and you don’t want to change, you should expose yourself to change every once in a while: you might just get surprised 🙂
The one thing that I always wanted from i3/sway is to have windows outside to the side of my screen, so that I could have
|- browser@half screen size-||- editor@half screen size -||- PDF viewer@half screen size -|
When I’m writing some math thing. Then I could just scroll to the left or to the right depending on whether I’m looking something up and writing it down, or whether I’m editing what is already written down.
Long story short: PaperWM for GNOME
This really appealed to me too but I also want fixed workspace numbers and workspaces per monitor and paperwm shat itself on the former (Ubuntu, 22.04 and 24.04) and didn’t appear to offer the latter as far as I could tell, or anything I could manage to work reasonably with multiple monitors.
Perhaps I really just didn’t understand the intended workflow with workspaces and monitors but I couldn’t find anything coherent. It seemed like the only option was either only workspaces on one of the monitors, or move workspaces in lockstep across all monitors. Neither of which made sense to me.
Hey!
Here’s some sway dotfiles of mine incase they help: https://gitlab.com/_j/dotfiles
Out of curiosity - what laptop maker is installing Sway by default?
Well, Sway and Gnome. But I already know Gnome so Sway piqued my interest.
I have a similar approach but primarily in Emacs rather than a terminal. Tiling WMs — i3/Sway specifically — have definitely become home.
I’ve been through a bunch of tiling WMs after Ubuntu dropped Unity (where I had enjoyed some light pseudo-tiling but wanted more). I started with i3 but couldn’t shake the feeling it was kind of impure and slightly inelegant. But every other one I tried had more annoyances and weirdness and I came back to i3. To me, i3 it is to tiling WMs as Python is to programming languages - nagging feelings of impurity, limitations, and grubby corners, but in the end it is very practical and gets the job done well and has been refined over the years to round off its rough edges.
Recently with things like PaperWM I thought perhaps I could get the benefits of being closer to mainstream, but after trying to get comfortable I just could not and am back on i3 and will switch to Sway eventually.
I3’s model of workspaces per monitor, and semi-automatic tiling, semi-manual, and i3-msg, sometimes feels inelegant but is actually highly practical. You can add plugins like
autotiling
to automate more, and powerful scripting behavior attainable throughi3-msg
and Python bindings (I recommend if you start pipingi3-msg
output throughjq
to get info, just make the full jump to scripting in Python, it’s easier in the long run).I wished tiling windows would work like snapping of floating windows, but more powerful. For example instead of snapping only to the edge of the screen, I would for example hold alt while dragging a window and would get a preview of where the window would snap to depending on where I’m hovering. And that it would resize the other windows accordingly.
Having to remember or customize a billion keyboard shortcuts for switching between windows and rearranging the grid, makes tiling window managers DOA for me. I don’t have the time/energy to set it up or practice the shortcuts.
practice the shortcuts
You know, I used to think like that when I first learned Unix shell commands and vi. I shlepped through the learning process because I had to when I was a student. Then after graduation, I joined a Unix company so I was dragged deeper into it screaming and kicking, and I kept picking up more and more commands and shortcuts until they etched themselves deep into my muscle memory. At some point, it all stopped being a chore and it became second nature.
And it went like that for many other software I’ve used. Decades later, I get the payoff: I’m a fast engineer and the friction between what I want to do and the final result is very low despite working 90% of the time with the keyboard.
It was a pain to get there and it took a mighty long time, I’ll be honest. but I reap the benefits now.
If I were you, I’d make the effort for that sort of thing. A couple of months tops: if you don’t like it, you’ll have wasted 2 months of your life. If you do, you’ll have gained skills that will pay for your efforts for the rest of your life many times over.
Welcome to the club - after starting to use window managers around 3 years ago at this point, I haven’t gone back. Whenever I’m forced to use Windows or a regular DE, I start instinctively abusing virtual desktops feature lol
Even as someone that got into computers in the Apple II days, I’ve never been able to get used to tiling WMs. I remember being blown away with Solaris Xwindow and I’ve never really looked back on those days without a mouse. I just slap on more monitors and use virtual desktops now.
That’s what I thought too - and I tried other tiling window managers in the past, only to quickly return to whatever I was used to. But somehow i3 hit the spot, It you’re used to screen or tmux, this thing has the same DNA and you’ll feel right at home. Give it an honest try, you might just like it.
But I do believe that you kind of have to be halfway there already to “get it”. My halfway-there was being so used to the same concept in the terminal. If you’re never exposed to tiling in any way, shape or form, maybe it’s more of a stretch.
I used tmux extensively at home with a pimped out config. But then I started using it on servers at work which don’t let me configure it, so I’m just using default keybindings now.
TBH something like ratpoison would be more of my thing if I ever switched to WMs except it’s no longer maintained (sucks). I don’t want to spend too much time configuring it though so bspwm is probably out of the running already. Do you think I’ll like i3? I’ve heard people calling it bloat. Well I suppose if you’re not using dwm/ratpoison you’re OK with so called bloat anyway
Same, but it was Hyprland that drug me over.
Can we get a screenshot of your setup please?
Nice idea!
Sure why not.
But there’s notthing spectacular or out of the ordinary here: it’s just a boring-ass, bog-standard i3 installation. What I spent time configuring isn’t visible - stuff like keyboard bindings, how it starts, how it handles multiple monitors… things like that.
Very respectable setup. Nice work. I’m glad you found something that feels like home for you.
The spaces in your dict look criminal, but it’s really nice to look at!
When I have the choice, I write for legibility, not to comply with styling conventions.
what i don’t like about most tiling WMs is they are keyboard only. you can’t hold a beverage in one hand and use them easily with the mouse. only very few let you also do most things with mouse (notion for example). currently i use Gnome (mutter standard WM) with the Forge extension (that adds tiling) for that reason. It’s not perfect, but lets me use my phone with one hand and operate the PC with the other etc.
Sway by default lets you move windows by dragging their title bar. Minimise/maximise doesn’t make sense in Sway, but adding fullscreen and close behaviour to buttons on your menubar of choice or extra mouse buttons would be pretty easy. Graphical app launchers exist too — I use one in Sway on my Yoga since I primarily use its touchscreen.
I appreciate those things aren’t in place by default, but they are kinda antithetical to the tiling paradigm, and if you’re using something like Sway then you’re probably tinkering a ton with it anyway.
I created Wintile for gnome because of this. Will have to take a look at Forge.
I kinda like the keyboard shortcuts for i3/sway, but wish there was some level of mouse integration/polish like gnome. Will try forge, thanks!
what i don’t like about most tiling WMs is they are keyboard only. you can’t hold a beverage in one hand and use them easily with the mouse.
Depends. Here for example, I’m lounging in the couch with a beer in one hand, watching Youtube videos in FreeTube, chatting with a friend in Signal and lazily browsing a few browser tabs and windows the rest of the time. The browser windows are arranged in one tabbed workspace, Signal in another workspace and Freetube in a third workspace, all of which are available with a mouse click. I’m basically not touching the keyboard unless I have to.
I guess it depends on how involved you want things to be with one hand clutching a beer 🙂 Me, that’s as complicated as I’m willing to let things get when I booze.
I use sway on my phone, had to add a secondary menu bar with a few keys for stuff like opening rofi, but it works perfectly fine otherwise
popos tiling works this way as well.
Just checked Forge. Seems like repo had been archived 2 days ago. Ouch… I was so hopeful. Maintaining a FOSS project is a lot of work. I am very grateful to all the devs that are doing it. Thisagain reminds thatwe need to donate and support greatdevs. Couldn’t help but notice the pattern. Bismuth / KDE, Forge / Gnome.
Personnaly I don’t need to manipulate windows with Bspwm. How they spawn is fine for me.
I don’t use i3 because windows spawns in such a layout that force to use shortcuts for changing the layout. Bspwm displays everything in nice rectangles.
To start apps you can keep an application menu in your bar, such as Whisker menu, or the KDE bar, while having a tiling window manager, so you can run apps with mouse clicks. And after the spawn you should not need to manipulate them if you use more automatized tiling WM such as Bspwm or Xmonad.
There’s a reason Windows 11 brought tiling features into the native window manager, and for Microsoft PowerToys to bring an even better tiling window manager on top of that.
I’ve tried tiling WMs myself but I always ended up fighting them and needing to tweak the configuration to work around bugs. I liked the prospect of Hyprland until some shit about the dev came out. The best combination I’ve seen so far has been Pop_OS’s Gnome plugin. Maybe I’ll switch to Cosmic once that comes out stable.
It’s worth trying out new stuff! I use Gnome every day and I would’ve never used it if I tried to stick to my Windows workflow!
I spent years using i3 as my main machine and I loved everything about it. Fast forward to now where I have to use a Mac. Most of the time I’m in a terminal with tmux so it’s fine but any time I have to deal with a gui element that is under something else I get more and more upset.
now where I have to use a Mac
Why did you start using a Mac? It sounds like a couple of steps backward in terms of freedom.
Also, I did a quick a quick search and this came up.
I have the same issue, and I had to use a Mac for work, didn’t have a choice in that matter.
I didn’t know about AeroSpace though, sounds interesting. Currently I’m using Amethyst which provides tiling, but it’s not i3/sway-like, so not perfect.
At least you’re not using Windows for work LMAO
Have you tried yabai or amethyst? Both really solid macOS tilers
I have not tried either. I’ll look into them though, thank you!
GOOD post, thanks OP. I’ve been meaning to try out i3 for a while, so maybe I’ll give it a go on my lappy where there’s less stakes if I fuck something up