--- publish: true permalink: /10-19 LIFE/13 TECH SETUP/13.11 APPS/qutebrowser.md title: qutebrowser created: 2026-01-31T15:46:19.286-07:00 modified: 2026-02-05T09:12:58.917-07:00 tags: - browser - web - keyboard cssclasses: "" --- qutebrowser is a keyboard-driven web browser with vim-like keybindings. Minimal UI, maximum efficiency. ## Installation **Arch Linux:** ```bash sudo pacman -S qutebrowser ``` ## Configuration Config file: `~/.config/qutebrowser/config.py` ```python # 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 = True ``` ## Key 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 ```python # 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: ```python 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 [[10-19 LIFE/13 TECH SETUP/13.11 APPS/urlref]] for an example qutebrowser userscript integration. ## Tips - `:help` opens the comprehensive help - Use `:set` to explore available options - `:bind` to see/modify key bindings - Greasemonkey scripts work via `c.content.javascript.enabled`