The corona virus pandemic has forced many governments to enforce a lockdown. This has forced many of us to work from home. Over the last several weeks I have been trying to perfect my home desktop environment to make me as productive as possible and to optimise all the resources I have.
At the office I had a desktop setup that consisted of two 27 inch monitors. One display was used for my editor and the other for applications like email, skype etc. I had been quite happy with this setup for some time. But with the recent developments, I have been forced to work on a single monitor and since the work is now done remotely, there are several applications like the vpn client, the remote desktop, email client, browsers and Microsoft teams that compete for the available desktop space.
For the first couple of days I spent 10-15 minutes arranging each application on the desktop and resizing and stacking them so that everything is within grasp.
While googling for better solutions to this workflow, I came across something known as the tiling window managers. After going through a few articles and some videos on the internet, I decided to give the i3 windows manager a shot. I spend a weekend trying to configure it followed by a week of working with the i3 windows manager. The experience was so liberating that I felt the need to write about this so that if any of my readers are looking for perfecting there desktop related workflows, this may show you the way.
Unlike your regular desktop environments like gnome or kde, the tiling window managers use make use of the entire desktop real estate for all applications opened. The first application that you open will occupy the entire screen space. If a second application is opened, it will share the screen space with the already opened application. And with each window opened, the screen gets split equally.
We also have workspaces, similar to the ones you see in the regular desktop environments. However the workspaces in i3 are customisable and we can even configure certain applications to open up only in certain workspaces and we can also configure i3 such that at startup applications can be opened and can be sent to its respective workspace.
i3 window manager heavily relies on keyboard shortcuts and hence your efficiency will not be plagued by the rodent on your desk. However if you still need to use the mouse you can do so.
The most difficult part about i3 window manager (and this holds true for all the tiling window managers as per the info I have), is that you will have to spend some time customising the desktop to suite your needs. Starting from the task bar everything has to be customised.
Luckily there are lots of folks out there who have spend a good amount of time configuring their desktops and were generous enough to share their work.
To get started all you have to do is
$ sudo apt-get install i3 i3blocks
i3blocks is the package that lets you display information in the task
The i3 configuration can be located at /etc/i3/config
copy this file to ~/.config/i3/config
The i3 documentation is pretty detailed for anyone who wants to modify
Similarly the i3blocks configuration can be located at /etc/i3blocks.conf
make a copy of this in ~/.config/i3blocks.conf
After playing around with i3blocks, I realised that the i3blocks is too simple and that for the status bar I reguire some further
customisation and hence I moved to polybar.
$ sudo apt-get install polybar
My configuration files and the scripts used are available here.