120 lines
2.7 KiB
Markdown
120 lines
2.7 KiB
Markdown
---
|
|
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`
|