Why I like i3 window manager?
Date: 2018-11-08
I am using Linux since 2006, and most of the time I used a normal window manager, which came with the desktop environment, or occasionaly tried out a simple one, like Openbox. I also saw some really weird stuff, like tiling windows, lots of terminal windows beside each other. Looked foreign. Is it useable? I thought not.
Man, I was totally wrong… xD
Honestly I don't remember when I started to use i3, but I am so glad I did. First of all:
What's a tiling manager?
When you start a program in a tiling window manager, it creates it either vertically or horizontally next to the previously opened window, according to certain rules. Rules that you can create and set in the system. All windows are tiled until a special rule comes in to say otherwise. For example, I have a hidden terminal window which is floating, when I call it to the front. I use this for some quick tasks.
Some of the benefits of i3/tiling window manager
The whole system becomes keyboard driven. Yes you can use your mouse as you usually would, but with a good setup (it has good defaults, I think), you can be lighting fast.
One particular benefit is that you no longer need to babysit your windows. No more resizing, putting windows here or there, just because it covers another window, which will also cover some other window. No more window babysitting.
I also love that I have a lots of workspace (virtual desktops, on other systems), and I can setup different programs to start on different workspaces. Here is quickly my current setup:
- Workspace 1: Firefox; work related stuff.
- Workspace 2: Qutebrowser; casual browsing.
- Workspace 3: Emacs and writing related tasks.
- Workspace 4: File management, with ranger.
- Workspace 5: Gaming stuff, like Lutris, Steam happened here. Right now, it's empty, since I don't play games anymore.
- Workspace 6: Entertainment: I use mpv for watching movies, and ncmpcpp for music.
- Worksapce 9: Graphical stuff, like Inkscape and Gimp.
As you can see I use a task-centered setup, so far it worked for me well. During the summer I realized I don't play much games, so I switched WS 3&5. The idea behind this setup, that I put my most used tasks on the first few workspaces for easy switch on the keyboard. I have keyboard shortcuts for starting programs, and I have the setup which program starts on which workspaces. I don't have to order anything, since it's set up from the start.
I3's control is based on a key, called mod key (which is $mod in the ~/.config/i3/config file, or whatever you use). I have small hands and after a short while it bothered me that neither ALT and the WIN key were comfortable to use. That's when I've found a solution to make the SPACE key my $mod key. Extremely comfortable, downside is that it needs setup and good typing. The idea is that when you tap the SPACE key, it acts like normally would during writing, but when you hold it, then it be the $mod key for i3.
It's so good, that I don't know how I could live without it.
Another thing I like about tiling, that it makes tasks easier that requires 2 or more windows at the same time. I have a smaller screen now (at least with today's standard), but still with 1920*1080 resolution. The fact that I can easily switch, copy, and generally interact with windows, it makes tasks so much easier, faster and pain free.
Yes you can setup tiling windows in KDE, Gnome, XFCE, etc, but it's not automatic, not fast enough.
I also understand that not everybody is a keyboard junkie. However I still recommend to check i3 out. There is a good website, with good manual. If you want to customize your system I recommend the r/unixporn subreddit. Don't worry, there is no NSFW there, it's just the name. It's all about customization. Lots of i3 stuff there with pictures and config files. Just a warning: you can lose days there trying to perfect your setup, and when you think you are done, it'll start over for sure, because you saw another awesome thing. :)
I also recommend Luke Smith's setup on github (and youtube, he created an installer for the whole thing, too. He is a major inspiration for me, when it comes to keyboard-driven stuff. Minus his vim-stuff. Emacs for the Win! Heheh.
In i3 there is one main config file, which contains shortcuts and customizations. I have mine at ~/.config/i3/config. I use polybar for panel, and rofi for launching programs. Rofi is highly customizable, you can even launch Twitch streams from it, or search buku bookmarks.
If you feel that you need need some space between windows, you can use i3-gaps, and configure the inner and outer gaps around windows.
These are just a few reasons I love using i3 and tiling window managers. If you are interested check out some of the links and try to modify the system. Most Linux distros have i3 in their repositories and easy to install. Then log out and switch desktop environments and choose i3.