Premature i3 window manager review
25/1/2016
It hasn't quite been a week, and I don't quite yet have it set-up exactly how I want it - but my god is it great.
First, you should know I'm fairly new to Linux, and am a complete noob.
I'm going to chop this little review up into multiple parts, ranging from the install and it's ease of use to the configuration and set-up of i3 add-ons.
But first, let me actually explain to you what the i3 window manager is.
A window manager is a piece (or collection) of software that has one job: control the border, appearance, location and maintenance of windows on the users desktop. This software also controls the functions you can use to resize, move and sometimes dock/stack windows. You use a Window manager every day. Windows has one, Apple systems too! You can learn more about a window manager here.
Before I began my journey into learning i3 I was using the default KDE window manager, kwin. And it was great.
Kwin was beautiful, and in-fact my first ever window manager. So why, one would ask would I want to switch from something I know so well, and is so familiar to that of a Windows system? Well, you literally just answered your own question, is what I would respond. I wanted something different, I was sick of having a computer look like almost every other personal computer out there - a task bar, icons, a start menu etc. I wanted to be a hipster - even more than I am now.
I'd love to stop right here and say that is the only thing that influenced my decision, but it wasn't.
I'm also lazy. I hate having to pick-up my arm and grab onto my mouse when doing something terminal based, such as programming. I wanted something that would give me full control of my windows and workspaces, I needed something for the elite, I needed a tiling window manager.
I began researching many tiling window managers, and I kept coming to a single conclusion - one that was above and beyond the rest. And so came i3.
But with i3 came a learning curve - one that was quick to learn, but vastly different from any other desktop experience I have ever had. I had to re-learn the basics of a computer. With i3 there is no minimise button, there is no maximise button and there is no close button. There is no dragging windows, or resizing windows. Instead, everything is done automatically, your windows getting smaller each time you open a new one. Of-course, you can change the positions and sizes, but only (mainly) with your keyboard.
Another luxury given up by deciding to use i3 is that of a start menu. Instead, you are required to use an alternate program launcher, in my case I'm currently using dmenu.
dmenu is a small application that allows me to start any program installed on my machine. By default, the hot-key to launch dmenu is mod+d (mod in my case is the Windows key), in which I kept. You are then prompted with a small bar at the top of your screen in which you type the program you want to launch, dmenu then looks at your installed programs and provides you with the appropriate options of which you select with your arrow keys.
Here is an example of what my second monitor currently looks like. Note the evenly set out windows, the lack of title bar buttons and the status bar at the bottom.
(Click image to enlarge it)
The installation of i3 and its recommended programs (such as dmenu) was easy, kind of.
to install i3 and dmenu I only had to run a simple apt-get command, they installed like a charm. and it was great.
I opted to not use the default status bar program that i3 comes with, named i3status, instead choosing to install i3blocks, which was a different story when it came to installing.
To keep it short, I had to download and compile the source code of i3blocks and do some magic hackery to get it to actually work, but we will talk about that later.
And so, once the installation process was complete, came the fun (yet long) process of configuration.
I'm a hipster. I dislike things default, and oh my, does that sometimes cause pain, and this time was no different.
The first thing I had to configure was easy, when I first logged into an i3 session I was asked if I wanted to create a configuration file, which I did, and was then asked to select a key that would act as the 'mod' key (mentioned earlier). My two options were the super key (Windows keys, you plebs) and the alt key. This was an obvious choice for me, my alt key is already taken by irssi my IRC client, so I selected the super key.
And so there I was, initial set-up complete, I was greeted to i3, a beautiful grey blank screen! I had never been so excited to see grey in my life. This is Linux dammit, of course the screen is blank! The first thing you are supposed to do is press mod+enter, which opens a terminal window. And so I was ready to begin. I opened a second terminal for SSH'ing into my server and launching irssi - this is literally the first step to life. I then opened my browser to the i3 user guide and began doing awesome things. Using Nano (yes Nano, vi shall be learnt one day) I opened my i3 configuration file (~/.i3/config) and began customising.
I wont bore you with all the little hot-keys and changes I made to colors etc, instead I will post the most important lines.
These lines are literal life savers. i3 doesn't handle being directly out of the box too well.
These hot keys do multiple things that are critical to me:
- control volume
- control my media player (I use VLC)
- lock my computer
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec amixer set Master 5%+ $
bindsym XF86AudioLowerVolume exec amixer set Master 5%- $
bindsym XF86AudioMute exec --no-startup-id pactl set-sin$
# Media player controls
bindsym XF86AudioPlay exec playerctl play
bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
#lock screen
bindsym $mod+l exec ~/lock.sh
By the way, lock.sh uses a program called i3lock, which is an optional i3 package, it simply locks my computer, privacy is key. Configuring i3 was easy, as well as i3blocks. Again, I wont bore you with details.
Here is a video I watched and borrowed some tips from.
https://www.youtube.com/watch?v=ARKIwOlazKI
I'm currently three days into using i3 and to put it simply, I'm loving it. I expected a learning curve far beyond what I was welcomed with, instead really, all I needed to learn was a few hot-keys and short-cuts.
I'm still tweaking things here and there, slowly improving my experience, learning new things and just having fun.
If you're interested in using i3 and need some help, ask me or the guys over at the subreddit.
Here's to more future media/posts about i3 and elitism.