qutebrowser is a keyboard-driven web browser with vim-like keybindings. Minimal UI, maximum efficiency.
Installation
Arch Linux:
sudo pacman -S qutebrowserConfiguration
Config file: ~/.config/qutebrowser/config.py
# Basic settings
c.content.javascript.enabled = True
c.content.autoplay = False
c.tabs.position = "top"
c.tabs.show = "multiple"
# Search engines
c.url.searchengines = {
'DEFAULT': 'https://duckduckgo.com/?q={}',
'g': 'https://google.com/search?q={}',
'w': 'https://en.wikipedia.org/wiki/{}',
'aw': 'https://wiki.archlinux.org/?search={}',
'gh': 'https://github.com/search?q={}',
'r': 'http://localhost:9873/{}', # urlref integration
}
# Dark mode
c.colors.webpage.darkmode.enabled = True
c.colors.webpage.preferred_color_scheme = "dark"
# Privacy
c.content.cookies.accept = "no-3rdparty"
c.content.headers.do_not_track = TrueKey Bindings
Navigation
| Key | Action |
|---|---|
j/k | Scroll down/up |
h/l | Scroll left/right |
gg/G | Top/bottom of page |
H/L | Back/forward |
r | Reload |
Links & Hints
| Key | Action |
|---|---|
f | Follow link (current tab) |
F | Follow link (new tab) |
;i | Hint images |
;y | Yank link URL |
Tabs
| Key | Action |
|---|---|
J/K | Prev/next tab |
d | Close tab |
u | Undo close tab |
o | Open URL |
O | Open URL (new tab) |
t | Open in new tab |
Commands
| Key | Action |
|---|---|
: | Command mode |
/ | Search in page |
yy | Yank URL |
pp | Open from clipboard |
Google Login Fix
Google sometimes blocks qutebrowser. Workaround:
See: https://github.com/qutebrowser/qutebrowser/issues/8492
# Set a Chrome user agent for Google sites
c.content.headers.user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'Or use per-domain settings:
config.set('content.headers.user_agent',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'*://accounts.google.com/*')Userscripts
Store in ~/.local/share/qutebrowser/userscripts/
See urlref for an example qutebrowser userscript integration.
Tips
:helpopens the comprehensive help- Use
:setto explore available options :bindto see/modify key bindings- Greasemonkey scripts work via
c.content.javascript.enabled