My experience with the i3 window manager so far

Posted on .

After realizing I was mainly using desktop-agnostic applications in my day to day workflow, I decided to jump ship and abandoned KDE in favor of a lightweight window manager. My dual-screen setup and curiosity about tiling window managers, which I had never used, led me to try i3.

i3 is a flexible tiling window manager. It has very simple and easy to remember keyboard shortcuts that allow you open applications and distribute your screen space as you see fit on the go. So far I’m very satisfied with my decision and will continue to use i3 until I get tired of it.

If you’ve never used a tiling window manager, from what I’ve read i3 should be one of your first bets as it was for me. Tiling window managers are a different kind of beast from what you’re probably used to, and require a small change in mindset.

The first couple of days I spent a bit of time deciding how I was going to organize the applications and windows that are normally open. Then, I always paused for a couple of seconds before opening "unusual" or additional windows, deciding where they should be and how I was going to split my existing space. However, after that first couple of days I quickly discovered which were the best ways to do all of that, and it started to be semi-automatic and fast.

In my opinion, using i3 (and probably other tiling window managers) is a matter of answering a few questions.

The first one what to do when you can’t minimize windows to a taskbar, which you can’t do. The answer in i3 is that you tend to use virtual desktops more frequently to organize your windows and create new clean workspaces. In i3, the number of virtual desktops is not fixed and are created on the fly when you need them.

The second question is realizing which applications cannot be used in a tiling window manager normally, because they don’t look good at all in every size or proportions, or because their windows should really have a fixed size. For example, this happens with GIMP, MPlayer and many games. In i3, you can assign those windows the floating mode by default and forget about them. So if I’m browsing my files with Thunar and click on a video file, I want MPlayer to pop up in the middle of the screen, floating above other windows and with a window size according to the video. This is floating mode and can be achieved with a single line per application in i3’s configuration file:

for_window [class="MPlayer"] floating enable
for_window [instance="gimp"] floating enable

I have a few lines like those ones for specific applications. The list was built on the fly as I was opening new applications to try and getting used to the environment.

And finally a few remarks about i3 itself.

  • The configuration file is in plaintext, well documented and has very sane defaults. I only needed to add a dozen simple lines or so to get the details right.

  • The user guide and documentation on the website are comprehensive and friendly. It’s very easy to know if something you want to do can be achieved and, if so, how.

  • You can assign the Windows key in your keyboard to be the magic key that triggers every key combination for the window manager, so it’s no longer Alt+This or Ctrl+Shift+That or whatever happens to be the shortcut for a given action. You can make it always be Windows+SomethingElse, and the rest of key combinations are reserved for applications.

  • The previous point makes it very easy to launch frequent applications easily. For example, I’ve set Windows+F1,2,3 to launch Firefox, Thunderbird and my screen session in xterm, or Windows+PageUp,Down to resize applications horizontally without needing to enter the special "resize" mode.

I think tiling window managers are worth a try, at least. There is also an i3 screencast on YouTube so you can get an idea about it without trying it. However, it’s not for everyone and you really don’t want to use it for the accounts of non-computer-literate users.

comments powered by Disqus