qutebrowser
written 2025-06-07 17:24, edited 2025-06-07 19:54I started using qutebrowser. It's a minimalist browser written in Python with Qt and QtWebEngine, which is based on but not Chromium that you get around in with vimlike keybindings and :
commands in a statusbar. You also configure it in Python and can add your own scripting directly in config.py
, though I've yet to think of use cases for me there.
Most of my config is UI colors except for
config.load_autoconfig(False) config.set('auto_save.session', True) config.set('tabs.padding', { 'bottom': 3, 'left': 6, 'right': 6, 'top': 3 }) config.set('tabs.title.format', "{audio}{private}{index} {current_title}") config.set('tabs.title.format_pinned', "{index} {current_title}") config.set('tabs.position', 'left') config.set('tabs.show', 'multiple') config.set('statusbar.padding', { 'bottom': 2, 'left': 4, 'right': 4, 'top': 2 })
Everything that starts config.set
can be changed with the :set
command like in Vim. I just like the Python string format.
I've used Sidebery in Firefox and Librewolf forever, so moving the tabs left was a first move that turned out to be more intuitive for the K
shortcut to select the previous tab and J
to select the next tab.
It really is a lot better for me than Vimium, my other go-to extension, because so many websites I use have conflicting keyboard shortcuts in their UIs. qutebrowser's solution for this is a mode called passthrough, which basically pauses its recognition of qutebrowser and custom keybinds so you can interact with the website's.
The only extension I miss is XKit Rewritten, which I need for Tag Replacer and blocking sponsored posts that qutebrowser's adblocker can't get. My solution is likely to study XKit and lift bits of code for my own qutebrowser/userscripts directory, but oughhhh. For now I just open Firefox for any XKit features involving the Mass Post Editor.