InterviewNoodle
Published in

InterviewNoodle

3 Web Browsers Which Take Power Users To The Extreme

You have probably used the usual ones like Chrome and Firefox. maybe, even more, feature-rich ones like Vivaldi, Opera, Brave, etc. But the ones I’m gonna talk about are no way near to them.

The web browsers mentioned below are made for people who need complete customization left to them. You could even have a config file and program everything yourself to alter the stuff you don’t like. And yes… You can customize literally anything in this.

How All Of The Below Works?

Most web browsers mentioned below are available on Windows, Linux, and Mac. They use something called a config file to configure any part of the browser, from themes to colors, to icons, to features and search engines, and so on… Anything could be configured. You might find this familiar if you’re using a window manager in Linux.

So basically you have the whole web browser customization in one file, so you can easily store as a backup or transfer it through multiple systems.

Each one of them uses a different syntax to edit the browser. It could be Python, Lua, JS, or just a normal simple config file. Ok, I’m not gonna waste more time… Let’s get right in.

Vimb: Custom Language(Windows, Mac & Linux)

Vimb is a fast and lightweight vim-like web browser based on the WebKit web browser engine and the GTK toolkit. Vimb is modal like the great vim editor and also easily configurable during runtime. Vimb is mostly keyboard-driven and does not distract you from your daily work.

features

  • it’s modal like Vim
  • Vim like keybindings — assignable for each browser mode
  • nearly every configuration can be changed at runtime with Vim like set syntax
  • history for ex commands, search queries, URLs
  • completions for: commands, URLs, bookmarked URLs, variable names of settings, search-queries
  • hinting — marks links, form fields, and other clickable elements to be clicked, opened, or inspected
  • SSL validation against ca-certificate file
  • user-defined URL shortcuts with placeholders
  • read it later queue to collect URIs for later use
  • multiple yank/paste registers
  • Vim like autocmd — execute commands automatically after an event on specific URIs

since it’s open-source, it could be used in any system.

Github source — git clone git://github.com/fanglingsu/vimb.git

QuteBrowser: Python(Windows, Mac & Linux) [Also my personal Favorite]

qutebrowser is a keyboard-focused browser with a minimal GUI. It’s based on Python and Qt and free software, licensed under the GPL.

It was inspired by other browsers/addons like dwb and Vimperator/Pentadactyl.

This is probably the most feature-rich out of the above, with features like AdBlock, auto-open, and theming customizations BUILTIN. You can have all of this in the other 2 browsers as well, but it’s not built-in.

Requirements

The following software and libraries are required to run qutebrowser:

  • Qt 5.12.0 or newer (5.12 LTS or 5.15 recommended, Qt 6 is not supported yet) with the following modules:
  • QtCore / qtbase
  • QtQuick (part of qtbase or qtdeclarative in some distributions)
  • QtSQL (part of qtbase in some distributions)
  • QtDBus (part of qtbase in some distributions; note that a connection to DBus at runtime is optional)
  • QtOpenGL
  • QtWebEngine, or
  • alternatively, QtWebKit (5.212) — This is not recommended due to known security issues in QtWebKit, you most likely want to use qutebrowser with the default QtWebEngine backend (based on Chromium) instead. Quoting the QtWebKit releases page: [The latest QtWebKit] release is based on [an] old WebKit revision with known unpatched vulnerabilities. Please use it carefully and avoid visiting untrusted websites and using it for the transmission of sensitive data.

On older Python versions (3.7/3.8), the following backports are also required:

The following libraries are optional:

  • AdBlock (for improved adblocking using ABP syntax)
  • pygments for syntax highlighting :view-source on QtWebKit, or when using :view-source --pygments with the (default) QtWebEngine backend.
  • On Windows, colorama for colored log output.
  • importlib_metadata on Python 3.7, to improve QtWebEngine version detection when PyQtWebEngine is installed via pip (thus, this dependency usually isn’t relevant for packagers).
  • asciidoc to generate the documentation for the :help command, when using the git repository (rather than a release).

See the documentation for directions on how to install qutebrowser and its dependencies.

LuaKit: Lua(Half Door, Half Bitten Apple, and Full Penguin)

Luakit is a highly configurable browser framework based on the WebKit web just does content engine and the GTK+ toolkit. It is very fast, extensible with Lua, and licensed under the GNU GPLv3 license. It is primarily targeted at power users, developers, and anyone who wants to have fine-grained control over their web browser’s behavior and interface.

This browser is very lightweight with only 9000 of code it is too easy and quick to install. The config file used here is in Lua. The tabs, font, and overall design are very simple, and also expect you to configure it how you want.

What more? You don’t need a Lua compiler for this. The browser understands the syntax anyways.

Conclusion

Chrome-like browsers are probably the browsers for most people. It just does the work for most people. BUT, for some of us who have OCD(just kidding), to be exactly how you want, you probably want to go with some of the above. All of them are awesome, although I prefer to go with something like qutebrowser since it is a perfect balance between too many bugs and too less features.

I’ll make more videos on this and more with some memes as well on my YouTube channel. I’ll also post some smaller content on Twitter. With that said, I hope you guys enjoyed and got something from this. I’ll catch you in the next article.

You’re Awesome :)
FadinGeek

--

--

--

One stop learning portal for your next coding and system design interview.

Recommended from Medium

Gutenberg: A JavaScript developer’s perspective

Lambdas (Java 8)

Native keyword in JAVA

The dead-end road that is end to end testing

Mac Mail App Keyboard Shortcuts

Keycloak Authentication

A glance through Metal Live Filters

How to prevent: invalid clicks during Huawei, Amazon,... app reviewing?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
FadinGeek

FadinGeek

All about tech, dev, design, editing… Hello there! I’m Akash, a YouTuber, a developer, a designer, and an editor :)

More from Medium

Top 20 Easiest To Use Remote Desktop Software (based on G2)

How To Build A NAS Server For Free!

Make Your Terminal Look Awesome

5 Developer tools you must try: Developer tools which enhance the productivity