Monthly Archives: April 2020

How I met the qutebrowser


It was through the ‘windows’ of Internet Explorer that I first got a glimpse of the Internet world. During those days, every PC you buy came with a version of Windows XP installed. I doubt if I knew about any other browsers back then ( I don’t think I even cared.). A couple of years later around 2007, is when I installed Ubuntu. Those where the days when Ubuntu used to ship free CDs. That opened up a new world for me. I remember, how I initially struggled to get the Internet working in Ubuntu, I used to boot back and forth from Windows to search for workarounds and then to Ubuntu to try it out, and finally when I had the internet working on ubuntu, firefox became my favourite browser for a very long time ( I have had my thing for Chrome but firefox still has that special spot.) That was until recently.

I am a person who hates the mouse. Every time my hand moves from the keyboard to the mouse, there is a part of me that dies. So with weekends with nothing to do due to the lockdown, I started my search for a browser that is mainly keyboard oriented.
Being an Emacs fan, my first criteria was to find something that used the Emacs keybindings, and I stumbled upon Next. I was ecstatic when I was reading through the github page. But within 30 minutes of usage , my excitement soon died out. There were several sites that Next could not handle. I realised that this is still a project in the nascent stage. Well I hope they do make progress in fixing all those issues, because I would love to use that as my main browser.

The next project that came up was the qutebrowser. As per the qutebrowser website, qutebrowser is a minimalist keyboard focused browser. The only problem was that it uses the VI keybindings. Nevertheless since I saw a couple of good reviews about the project, I decided to take this for a spin. I quickly glanced through the cheat sheet. I was already familiar with some VI shortcuts. I was soon surfing through the internet waves on qutebrowser. Despite the fact that I had some learning curve due to the VI keybindings, the experience was much more pleasant and I felt much more efficient compared to the traditional mouse based browsers.

On Ubuntu all you have to do is:

sudo apt install qutebrowser

and you are all set. It might be a good idea to keep the cheatsheet open for the first couple of hours until you get familiar.

Most of the keybindings are intutive, like ‘o’ means open a link, which will give you a prompt to type the hyper link. You can scroll a page using the ‘j’ and ‘k’ keys.

Qutebrowser also has a pass through mode which can be activated and deactivated using the Ctrl-v. With the pass through mode all keypresses from the keyboard are treated as normal and will not be interpreted as commands. This is from the VI mode concept.
By default you are in the command mode and that is how keys like ‘o’, ‘j’ and ‘k’ have different meanings. But on pressing ‘i’ you enter the insert mode or the edit mode where the keypresses are treated as characters entered. For readers who are not familiar with the VI, maybe it is a good idea to have some familiarity with VI before trying the qutebrowser.

After three weeks of usage I can say that the honeymoon period is over and here is what I like about the qutebrowser:

  1. qutebrowser is a minimalist browser. All it has is a title bar, and that too a very narrow one.
  2. It is 99% keyboard oriented. The 1% is because I still could not figure how to copy paste content from the webpages without using the mouse.
  3. It is as fast as chrome or firefox.
  4. It does not consume a whole lot of memory like chrome.
  5. Despite being minimalist, it can still play videos from Youtube, CuriosityStream etc.
  6. It does a decent amount of adblocking.

The things that I wish qutebrowser had:

  1. Qutebrowser still does not have a mechanism for autofill of forms and passwords.
  2. Ocassionaly I have seen the qutebrowser crashing if I leave it on for a long time. I am still not sure about this and once I am I will considering raising an issue in the github page.

Here is a very short video of qutebrowser in action.

qutebrowser

So why don’t you try it out and let me know your thoughts on the qutebrowser.

i3- A tiling window manager to declutter your desktop


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
bar/status bar.

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
this file.

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.

%d bloggers like this: