Blog

Ugly Chrome extension for a dumb problem
2014-05-13


"Sometimes it seems as if there are more solutions than problems. On closer scrutiny, it turns out that many of today's problems are a result of yesterday's solutions." - Thomas Sowell

Browsers on Linux are a bit of a mess at the moment. Opera 12 is currently my favourite. It's both simple and incredibly customizable, but there are some bad sides to it. It's slow, some sites don't work properly with its engine, it's prone to crashing and its Flash support is a mess. Google Chrome on the other hand doesn't have those problems, but it's not nearly as customizable as Opera.

One of the options in Opera is what to do when the last tab in a window is closed. By default, Opera, like any other browser, will close the window. The "Allow window with no tabs" option allows us to close the last tab and not have to restart the browser if we want to continue browsing. Any programmer can tell you that it's not really a big deal to provide this feature in a browser, but for some reason the Chrome team chose not to do it.

With most missing features in a browser, your best bet are extension or plugins, so that's where I started looking. I found a bunch of extensions and most of them didn't work and the one that did was poorly made, buggy and didn't work the way I wanted it to. I figured I'd just fix what was bothering me and be done with it, but it ended up being so poorly written that I had to rewrite the whole thing.

Long story short, I have written my first and hopefully last Chrome extension: Last Tab. Due to many limitations of the Chrome API, the only way I could find to do what I needed was to do something really ugly.

I can't wait for QtWebEngine to become stable, so that Otter can get all the benefits of Chrome and all the customizability of Opera 12. Then I can finally be happy with my browser.