I recently switched from Gnome to i3 window manager on my laptop as an experiment. I have used i3 on my home server before but never as my main desktop environment. I have to say, I have not missed Gnome.
What is i3
i3 is a window manager, not a desktop environment. It does not aim to package a complete desktop experience and thus many things, such as an application launcher or a file manager, have to be installed separately.
That said, what i3 does do is give you the ability to utilize your entire screen using a tiling window layout. You retain the ability to position new windows or re-position old windows any which way you like. There is also the option to go from tiling mode to tabbed mode or float mode, both of which are likely more familiar modes if you’re coming from a common desktop environment. I rather enjoy tabbed mode (akin to alt-tabbing) on my laptop as it gives me full screen real estate for any one program at a time. However, tiling mode is extremely useful when I need to stare at two different windows side by side.
There are various other tiling window managers including awesomewm, xmonad, spectrwm, and bspwm. They all have their own features and nuances so it’s best to experiment for yourself to find out which one you enjoy using the most. Where I prefer the ability to control exactly what my layout looks like, others prefer the automatic nature of something like spectrwm.
Let’s face it, Gnome looks great. Every time I fire up my laptop and the Zukitwo theme comes up, I can not help but gaze at the clean and elegant look that you would expect to see in a modern day desktop environment.
i3 on the other hand, though relatively polished, feels somewhat last-decade. There is no fanciness like transparent or frosted glass title bars. The status bar is a plain black bar with mostly text and a section reserved for GTK applets such as nm-applet. Note that this has nothing to do with how fonts look. Fonts can look as brilliant in your terminal as they do on any other desktop environment.
I thought this was the first thing I would miss in my switch to i3; surprisingly, it was not. The entire point of a tiling window manager was to utilize screen real estate efficiently at all times. This did not leave much room for fancy title bars or buttons. If I were to use Gnome the same way, which is possible to an extent, most of that eye candy is either hidden away or taking up valuable screen real estate. Essentially, losing out on the eye candy was a small price to pay.
Customization is Text-based
In Gnome, many additions are made mainly through extensions. I did not loathe this tool but it wasn’t overly pleasant to use either. The extensions list could use a bit of organizing and new Gnome releases tend to break extensions.
All customization for i3 is done within text-based config files rather than having to write code or go through your browser to install extensions. This makes customization in i3 powerful yet relatively painless. You don’t get the “eye candy” you would with Gnome; but hey, one could argue from a hacker’s perspective, functional text in the proper position just feels right.
Compared to Gnome, i3 is much less CPU and memory intensive. The slight increase in battery efficiency is definitely welcome when working away from a power outlet for the day. There seems to be less heat emitted by the laptop as well, which is a bonus.
Starting applications, moving windows around, switching between windows and workspaces, and work flow in general is largely keyboard-centric. Nothing feels better during development than not having to ever lift your hands off your keyboard.
Grass is Not All Greener
For the most part, things work right out of the box. Unfortunately, there is some set-up and tweaking involved and I was not without a few issues after installation. In my next post, I will illustrate some of the problems I ran into and propose solutions that I stumbled upon on the inter-webs.