Files
quartz/content/10-19 LIFE/13 TECH SETUP/13.11 APPS/qutebrowser.md
Quartz Syncer fe0581e423
All checks were successful
Build and Deploy Quartz / build (push) Successful in 27s
Published multiple files
2026-02-05 12:24:25 -07:00

120 lines
2.6 KiB
Markdown

---
publish: true
permalink: /apps/qutebrowser
title: qutebrowser
created: 2026-01-31T15:46:19.286-07:00
modified: 2026-02-05T12:16:30.762-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`