qutebrowser/qutebrowser/config/configdata.yml
2017-07-04 15:08:02 +02:00

2142 lines
54 KiB
YAML

## general
aliases:
default: {}
type:
name: Dict
keytype:
name: String
forbidden: ' '
valtype: Command
none_ok: true
desc: >-
Aliases for commands.
By default, no aliases are defined. Example which adds a new command `:qtb`
to open qutebrowsers website:
`{qtb: open https://www.qutebrowser.org/}`
auto_search:
type:
name: String
valid_values:
- naive: Use simple/naive check.
- dns: Use DNS requests (might be slow!).
- never: Never search automatically.
default: naive
desc: Whether to start a search when something else than a URL is entered.
confirm_quit:
type: ConfirmQuit
default: [never]
desc: Whether to confirm quitting the application.
default_page:
type: FuzzyUrl
default: https://start.duckduckgo.com/
desc: >-
The page to open if :open -t/-b/-w is used without URL. Use `about:blank`
for a blank page.
history_session_interval:
type: Int
default: 30
desc: The maximum time in minutes between two history items for them to be considered
being from the same session. Use -1 to disable separation.
ignore_case:
type:
name: String
valid_values:
- always: Search case-insensitively
- never: Search case-sensitively
- smart: Search case-sensitively if there are capital chars
default: smart
desc: Whether to find text on a page case-insensitively.
new_instance_open_target:
type:
name: String
valid_values:
- tab: Open a new tab in the existing window and activate the window.
- tab-bg: Open a new background tab in the existing window and activate
the window.
- tab-silent: Open a new tab in the existing window without activating the
window.
- tab-bg-silent: Open a new background tab in the existing window without
activating the window.
- window: Open in a new window.
default: tab
desc: How to open links in an existing instance if a new one is launched.
new_instance_open_target_window:
type:
name: String
valid_values:
- first-opened: Open new tabs in the first (oldest) opened window.
- last-opened: Open new tabs in the last (newest) opened window.
- last-focused: Open new tabs in the most recently focused window.
- last-visible: Open new tabs in the most recently visible window.
default: last-focused
desc: Which window to choose when opening links as new tabs.
searchengines:
default:
# FIXME:conf what if the user deletes/renames DEFAULT?
DEFAULT: https://duckduckgo.com/?q={}
type:
name: Dict
keytype: String
valtype: SearchEngineUrl
desc: >-
Definitions of search engines which can be used via the address bar.
The searchengine named `DEFAULT` is used when `auto_search` is turned on and
something else than a URL was entered to be opened. Other search engines can
be used by prepending the search engine name to the search term, e.g. `:open
google qutebrowser`. The string `{}` will be replaced by the search term,
use `{{` and `}}` for literal `{`/`}` signs.
session_default_name:
type:
name: SessionName
none_ok: true
default: null
desc: The name of the session to save by default, or unset for the last loaded
session.
start_page:
type:
name: List
valtype: String
default: ["https://start.duckduckgo.com"]
desc: The default page(s) to open at the start.
url_incdec_segments:
type:
name: FlagList
valid_values: [host, path, query, anchor]
default: [path, query]
desc: The URL segments where `:navigate increment/decrement` will search for a
number.
yank_ignored_url_parameters:
type:
name: List
valtype: String
none_ok: true
default:
- ref
- utm_source
- utm_medium
- utm_campaign
- utm_term
- utm_content
desc: The URL parameters to strip with :yank url.
## auto_save
auto_save.config:
type: Bool
default: true
desc: Whether to save the config automatically on quit.
auto_save.interval:
type:
name: Int
minval: 0
maxval: maxint
default: 15000
desc: How often (in milliseconds) to auto-save config/cookies/etc.
auto_save.session:
type: Bool
default: false
desc: Whether to always save the open pages.
## content
content.accept_language:
type: String
default: en-US,en
desc: Value to send in the `accept-language` header.
content.cache_size:
default: null
type:
name: Int
none_ok: true
minval: 0
maxval: maxint64
desc: Size of the HTTP network cache. Empty to use the default value.
content.cookies.accept:
default: no-3rdparty
backend: QtWebKit
type:
name: String
valid_values:
- all: "Accept all cookies."
- no-3rdparty: "Accept cookies from the same origin only."
- no-unknown-3rdparty: "Accept cookies from the same origin only, unless a
cookie is already set for the domain."
- never: "Don't accept cookies at all."
desc: Control which cookies to accept.
content.cookies.store:
default: true
type: Bool
desc: Whether to store cookies. Note this option needs a restart with QtWebEngine
on Qt < 5.9.
content.custom_headers:
default: {}
type:
name: Dict
keytype:
name: String
encoding: ascii
valtype:
name: String
encoding: ascii
none_ok: true
desc: Set custom headers for qutebrowser HTTP requests.
content.default_encoding:
type: String
default: iso-8859-1
desc: >-
Default encoding to use for websites.
The encoding must be a string describing an encoding such as _utf-8_,
_iso-8859-1_, etc.
content.developer_extras:
type: Bool
default: false
backend: QtWebKit
desc: >-
Enable extra tools for Web developers.
This needs to be enabled for `:inspector` to work and also adds an _Inspect_
entry to the context menu. For QtWebEngine, see `qutebrowser --help`
instead.
content.dns_prefetch:
default: true
type: Bool
backend: QtWebKit
desc: Whether to try to pre-fetch DNS entries to speed up browsing.
content.do_not_track:
type: Bool
default: true
desc: Value to send in the `DNT` header.
content.frame_flattening:
default: false
type: Bool
backend: QtWebKit
desc: >-
Whether to expand each subframe to its contents.
This will flatten all the frames to become one scrollable page.
content.geolocation:
default: ask
type: BoolAsk
desc: Allow websites to request geolocations.
content.host_blocking.enabled:
default: true
type: Bool
desc: Whether host blocking is enabled.
content.host_blocking.lists:
default:
- "https://www.malwaredomainlist.com/hostslist/hosts.txt"
- "http://someonewhocares.org/hosts/hosts"
- "http://winhelp2002.mvps.org/hosts.zip"
- "http://malwaredomains.lehigh.edu/files/justdomains.zip"
- "https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&mimetype=plaintext"
type:
name: List
valtype: Url
none_ok: true
desc: |
List of URLs of lists which contain hosts to block.
The file can be in one of the following formats:
- An `/etc/hosts`-like file
- One host per line
- A zip-file of any of the above, with either only one file, or a file named
`hosts` (with any extension).
content.host_blocking.whitelist:
default:
- piwik.org
type:
name: List
valtype: String
none_ok: true
desc: >-
List of domains that should always be loaded, despite being ad-blocked.
Domains may contain * and ? wildcards and are otherwise required to exactly match
the requested domain.
Local domains are always exempt from hostblocking.
content.hyperlink_auditing:
default: false
type: Bool
desc: Enable or disable hyperlink auditing (`<a ping>`).
content.images:
default: true
type: Bool
desc: Whether images are automatically loaded in web pages.
content.javascript.alert:
default: true
type: Bool
desc: Show javascript alerts.
content.javascript.can_access_clipboard:
default: false
type: Bool
desc: >-
Whether JavaScript programs can read or write to the clipboard.
With QtWebEngine, writing the clipboard as response to a user interaction is always
allowed.
content.javascript.can_close_windows:
default: false
type: Bool
backend: QtWebKit
desc: Whether JavaScript programs can close windows.
content.javascript.can_open_windows_automatically:
default: false
type: Bool
desc: Whether JavaScript programs can open new windows without user
interaction.
content.javascript.enabled:
default: true
type: Bool
desc: Enables or disables the running of JavaScript programs.
content.javascript.log:
type:
name: String
valid_values:
- none: "Don't log messages."
- debug: Log messages with debug level.
- info: Log messages with info level.
default: debug
desc: How to log javascript console messages.
content.javascript.modal_dialog:
type: Bool
default: false
desc: Use the standard JavaScript modal dialog for `alert()` and `confirm()`
content.javascript.prompt:
default: true
type: Bool
desc: Show javascript prompts.
content.local_content_can_access_remote_urls:
default: false
type: Bool
desc: Whether locally loaded documents are allowed to access remote urls.
content.local_content_can_access_file_urls:
default: true
type: Bool
desc: Whether locally loaded documents are allowed to access other local urls.
content.local_storage:
default: true
type: Bool
desc: Whether support for HTML 5 local storage and Web SQL is enabled.
# Defaults from QWebSettings::QWebSettings() in
# qtwebkit/Source/WebKit/qt/Api/qwebsettings.cpp
content.maximum_pages_in_cache:
default: 0
type:
name: Int
minval: 0
maxval: maxint
backend: QtWebKit
desc: >-
The maximum number of pages to hold in the global memory page cache.
The Page Cache allows for a nicer user experience when navigating forth or back
to pages in the forward/back history, by pausing and resuming up to _n_ pages.
For more information about the feature, please refer to: http://webkit.org/blog/427/webkit-page-cache-i-the-basics/
content.media_capture:
default: ask
type: BoolAsk
backend: QtWebEngine
desc: Allow websites to record audio/video.
content.netrc_file:
default: null
type:
name: File
none_ok: true
desc: Set location of a netrc-file for HTTP authentication. If unset, ~/.netrc
is used.
content.notifications:
default: ask
type: BoolAsk
desc: Allow websites to show notifications.
content.offline_web_application_cache:
default: true
type: Bool
backend: QtWebKit
desc: >-
Whether support for the HTML 5 web application cache feature is enabled.
An application cache acts like an HTTP cache in some sense. For documents that
use the application cache via JavaScript, the loader engine will first ask the
application cache for the contents, before hitting the network.
The feature is described in details at: http://dev.w3.org/html5/spec/Overview.html#appcache
content.pdfjs:
default: false
type: Bool
desc: >-
Enable pdf.js to view PDF files in the browser.
Note that the files can still be downloaded by clicking the download button in
the pdf.js viewer.
content.plugins:
default: false
type: Bool
desc: Enables or disables plugins in Web pages.
content.print_element_backgrounds:
type: Bool
default: true
backend:
QtWebKit: true
QtWebEngine: Qt 5.8
desc: >-
Whether the background color and images are also drawn when the page is
printed.
# FIXME:conf This should be added automatically:
# This setting only works with Qt 5.8 or newer when using the QtWebEngine backend.
content.private_browsing:
type: Bool
default: false
desc: Open new windows in private browsing mode which does not record visited
pages.
content.proxy:
default: system
type: Proxy
backend:
QtWebKit: true
QtWebEngine: Qt 5.8
desc: >-
The proxy to use.
In addition to the listed values, you can use a `socks://...` or `http://...`
URL.
# FIXME:conf This should be added automatically:
# This setting only works with Qt 5.8 or newer when using the QtWebEngine
# backend.
content.proxy_dns_requests:
default: true
type: Bool
backend: QtWebKit
desc: Whether to send DNS requests over the configured proxy.
content.referer_header:
default: same-domain
type:
name: String
valid_values:
- always: "Always send."
- never: "Never send; this is not recommended, as some sites may break."
- same-domain: "Only send for the same domain. This will still protect
your privacy, but shouldn't break any sites."
backend: QtWebKit
desc: Send the Referer header
content.ssl_strict:
default: ask
type: BoolAsk
desc: Whether to validate SSL handshakes.
content.user_agent:
default: null
type:
name: String
none_ok: true
completions:
# To update the following list of user agents, run the script 'ua_fetch.py'
# Vim-protip: Place your cursor below this comment and run
# :r!python scripts/dev/ua_fetch.py
- - "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:53.0) Gecko/20100101
Firefox/53.0"
- Firefox 53.0 Win8.1
- - "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101
Firefox/53.0"
- Firefox 53.0 Linux
- - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:53.0) Gecko/20100101
Firefox/53.0"
- Firefox 53.0 MacOSX
- - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4
(KHTML, like Gecko) Version/10.1.1 Safari/603.2.4"
- Safari Generic MacOSX
- - "Mozilla/5.0 (iPad; CPU OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30
(KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1"
- Mobile Safari 10.0 iOS
- - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/58.0.3029.110 Safari/537.36"
- Chrome Generic Win10
- - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36"
- Chrome Generic MacOSX
- - "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/58.0.3029.110 Safari/537.36"
- Chrome Generic Linux
- - "Mozilla/5.0 (compatible; Googlebot/2.1;
+http://www.google.com/bot.html"
- Google Bot
- - "Wget/1.16.1 (linux-gnu)"
- wget 1.16.1
- - "curl/7.40.0"
- curl 7.40.0
- - "Mozilla/5.0 (Linux; U; Android 7.1.2) AppleWebKit/534.30 (KHTML, like
Gecko) Version/4.0 Mobile Safari/534.30"
- Mobile Generic Android
- - "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
- IE 11.0 for Desktop Win7 64-bit
desc: User agent to send. Unset to send the default.
content.user_stylesheet:
type:
name: File
none_ok: True
default: null
desc: User stylesheet to use (absolute filename or filename relative to the config
directory). Will expand environment variables.
content.webgl:
default: true
type: Bool
desc: Enables or disables WebGL.
content.xss_auditing:
type: Bool
default: false
desc: >-
Whether load requests should be monitored for cross-site scripting attempts.
Suspicious scripts will be blocked and reported in the inspector\'s
JavaScript console. Enabling this feature might have an impact on
performance.
## completion
completion.cmd_history_max_items:
default: 100
type:
name: Int
minval: -1
desc: >-
How many commands to save in the command history.
0: no history / -1: unlimited
completion.height:
type:
name: PercOrInt
minperc: 0
maxperc: 100
minint: 1
default: 50%
desc: The height of the completion, in px or as percentage of the window.
completion.quick:
default: true
type: Bool
desc: "Whether to move on to the next part when there's only one possible completion
left."
completion.show:
default: always
type:
name: String
valid_values:
- always: Whenever a completion is available.
- auto: Whenever a completion is requested.
- never: Never.
desc: When to show the autocompletion window.
completion.shrink:
default: false
type: Bool
desc: Whether to shrink the completion to be smaller than the configured size if
there are no scrollbars.
completion.scrollbar.width:
default: 12
type:
name: Int
minval: 0
desc: Width of the scrollbar in the completion window (in px).
completion.scrollbar.padding:
default: 2
type:
name: Int
minval: 0
desc: Padding of scrollbar handle in completion window (in px).
completion.timestamp_format:
type:
name: TimestampTemplate
none_ok: true
default: '%Y-%m-%d'
desc: How to format timestamps (e.g. for history)
completion.web_history_max_items:
default: 1000
type:
name: Int
minval: -1
desc: >-
How many URLs to show in the web history.
0: no history / -1: unlimited
## downloads
downloads.location.directory:
default: null
type:
name: Directory
none_ok: true
desc: The directory to save downloads to. If unset, a sensible os-specific
default is used. Will expand environment variables.
downloads.location.prompt:
default: true
type: Bool
desc: >-
Whether to prompt the user for the download location.
If set to false, `download-directory` will be used.
downloads.location.remember:
default: true
type: Bool
desc: Whether to remember the last used download directory.
downloads.location.suggestion:
default: path
type:
name: String
valid_values:
- path: Show only the download path.
- filename: Show only download filename.
- both: Show download path and filename.
desc: What to display in the download filename input.
downloads.open_dispatcher:
type:
name: String
none_ok: true
default: null
desc: >-
The default program used to open downloads. If unset, the default internal
handler is used.
Any `{}` in the string will be expanded to the filename, else the filename
will be appended.
downloads.position:
type: VerticalPosition
default: top
desc: Where to show the downloaded files.
downloads.remove_finished:
default: -1
type:
name: Int
minval: -1
desc: Number of milliseconds to wait before removing finished downloads. Will not
be removed if value is -1.
## editor
editor.command:
type:
name: ShellCommand
placeholder: true
default: ["gvim", "-f", "{}"]
desc: >-
The editor (and arguments) to use for the `open-editor` command.
The arguments get split like in a shell, so you can use `\"` or `\'` to quote
them.
`{}` gets replaced by the filename of the file to be edited.
editor.encoding:
type: Encoding
default: utf-8
desc : Encoding to use for the editor.
## hints
hints.auto_follow:
default: unique-match
type:
name: String
valid_values:
- always: "Auto-follow whenever there is only a single hint on a page."
- unique-match: "Auto-follow whenever there is a unique non-empty match in
either the hint string (word mode) or filter (number mode)."
- full-match: "Follow the hint when the user typed the whole hint (letter,
word or number mode) or the element's text (only in number mode)."
- never: "The user will always need to press Enter to follow a hint."
desc: Controls when a hint can be automatically followed without the user
pressing Enter.
hints.auto_follow_timeout:
default: 0
type: Int
desc: A timeout (in milliseconds) to inhibit normal-mode key bindings after a
successful auto-follow.
hints.border:
default: '1px solid #E3BE23'
type: String
desc: CSS border value for hints.
hints.chars:
default: asdfghjkl
type:
name: UniqueCharString
minlen: 2
completions:
- ['asdfghjkl', "Home row"]
- ['aoeuidnths', "Home row (Dvorak)"]
- ['abcdefghijklmnopqrstuvwxyz', "All letters"]
desc: Chars used for hint strings.
hints.dictionary:
default: /usr/share/dict/words
type:
name: File
required: false
desc: The dictionary file to be used by the word hints.
hints.find_implementation:
default: python
type:
name: String
valid_values:
- javascript: Better but slower
- python: Slightly worse but faster
desc: Which implementation to use to find elements to hint.
hints.hide_unmatched_rapid_hints:
default: true
type: Bool
desc: Controls hiding unmatched hints in rapid mode.
hints.min_chars:
default: 1
type:
name: Int
minval: 1
desc: Minimum number of chars used for hint strings.
hints.mode:
default: letter
type:
name: String
valid_values:
- number: Use numeric hints. (In this mode you can also type letters from
the hinted element to filter and reduce the number of elements that
are hinted.)
- letter: Use the chars in the hints.chars setting.
- word: Use hints words based on the html elements and the extra words.
desc: Mode to use for hints.
hints.next_regexes:
default:
- "\\bnext\\b"
- "\\bmore\\b"
- "\\bnewer\\b"
- "\\b[>\u2192\u226B]\\b"
- "\\b(>>|\xBB)\\b"
- "\\bcontinue\\b"
type:
name: List
valtype:
name: Regex
flags: IGNORECASE
desc: "A comma-separated list of regexes to use for 'next' links."
hints.prev_regexes:
default:
- "\\bprev(ious)?\\b"
- "\\bback\\b"
- "\\bolder\\b"
- "\\b[<\u2190\u226A]\\b"
- "\\b(<<|\xAB)\\b"
type:
name: List
valtype:
name: Regex
flags: IGNORECASE
desc: A comma-separated list of regexes to use for 'prev' links.
hints.scatter:
default: true
type: Bool
desc: Whether to scatter hint key chains (like Vimium) or not (like dwb). Ignored
for number hints.
hints.uppercase:
default: false
type: Bool
desc: Make chars in hint strings uppercase.
## input
# FIXME:conf get rid of this?
input.ambiguous_timeout:
default: 500
type:
name: Int
minval: 0
maxval: maxint
desc: >-
Timeout (in milliseconds) for ambiguous key bindings.
If the current input forms both a complete match and a partial match, the complete
match will be executed after this time.
input.forward_unbound_keys:
default: auto
type:
name: String
valid_values:
- all: "Forward all unbound keys."
- auto: "Forward unbound non-alphanumeric keys."
- none: "Don't forward any keys."
desc: Whether to forward unbound keys to the webview in normal mode.
input.insert_mode.auto_load:
default: false
type: Bool
desc: Whether to automatically enter insert mode if an editable element is focused
after page load.
input.insert_mode.auto_leave:
default: true
type: Bool
desc: Whether to leave insert mode if a non-editable element is clicked.
input.insert_mode.plugins:
default: false
type: Bool
desc: Whether to switch to insert mode when clicking flash and other plugins.
input.links_included_in_focus_chain:
default: true
type: Bool
desc: Whether hyperlinks should be included in the keyboard focus chain.
input.partial_timeout:
default: 5000
type:
name: Int
minval: 0
maxval: maxint
desc: >-
Timeout (in milliseconds) for partially typed key bindings.
If the current input forms only partial matches, the keystring will be cleared
after this time.
input.rocker_gestures:
default: false
type: Bool
desc: Whether to enable Opera-like mouse rocker gestures. This disables the context
menu.
input.spatial_navigation:
default: false
type: Bool
desc: >-
Enables or disables the Spatial Navigation feature.
Spatial navigation consists in the ability to navigate between focusable elements
in a Web page, such as hyperlinks and form controls, by using Left, Right, Up
and Down arrow keys. For example, if a user presses the Right key, heuristics
determine whether there is an element he might be trying to reach towards the
right and which element he probably wants.
## keyhint
keyhint.blacklist:
type:
name: List
none_ok: true
valtype:
name: String
default: null
desc: >-
Keychains that shouldn\'t be shown in the keyhint dialog.
Globs are supported, so `;*` will blacklist all keychains starting with `;`.
Use `*` to disable keyhints.
keyhint.delay:
type:
name: Int
minval: 0
default: 500
desc: Time from pressing a key to seeing the keyhint dialog (ms)
## messages
messages.timeout:
type:
name: Int
minval: 0
default: 2000
desc: >-
Time (in ms) to show messages in the statusbar for.
Set to 0 to never clear messages.
messages.unfocused:
type: Bool
default: false
desc: Whether to show messages in unfocused windows.
## prompt
prompt.filebrowser:
type: Bool
default: true
desc: Show a filebrowser in upload/download prompts.
prompt.radius:
type:
name: Int
minval: 0
default: 8
desc: The rounding radius for the edges of prompts.
## scrolling
scrolling.bar:
# FIXME:conf meaning changed!
type: Bool
default: false
desc: Show a scrollbar.
statusbar.hide:
type: Bool
default: false
desc: Whether to hide the statusbar unless a message is shown.
statusbar.padding:
type: Padding
default:
top: 1
bottom: 1
left: 0
right: 0
desc: Padding for the statusbar.
statusbar.position:
type: VerticalPosition
default: bottom
desc: The position of the status bar.
scrolling.smooth:
type: Bool
default: false
desc: Whether to enable smooth scrolling for web pages. Note smooth scrolling does
not work with the `:scroll-px` command.
## tabs
tabs.background:
default: false
type: Bool
desc: Whether to open new tabs (middleclick/ctrl+click) in background.
tabs.close_mouse_button:
default: middle
type:
name: String
valid_values:
- right: "Close tabs on right-click."
- middle: "Close tabs on middle-click."
- none: "Don't close tabs using the mouse."
desc: On which mouse button to close tabs.
tabs.favicons.scale:
default: 1.0
type:
name: Float
minval: 0.0
desc: Scale for favicons in the tab bar. The tab size is unchanged, so big favicons
also require extra `tabs.padding`.
tabs.favicons.show:
default: true
desc: Whether to show favicons in the tab bar.
type: Bool
tabs.indicator_padding:
default:
top: 2
bottom: 2
left: 0
right: 4
type: Padding
desc: Padding for indicators
tabs.last_close:
default: ignore
type:
name: String
valid_values:
- ignore: "Don't do anything."
- blank: "Load a blank page."
- startpage: "Load the start page."
- default-page: "Load the default page."
- close: "Close the window."
desc: Behavior when the last tab is closed.
tabs.mousewheel_switching:
default: true
type: Bool
desc: Switch between tabs using the mouse wheel.
tabs.new_position:
default: next
type: NewTabPosition
desc: How new tabs are positioned.
tabs.new_position_explicit:
default: last
type: NewTabPosition
desc: How new tabs opened explicitly are positioned.
tabs.padding:
default:
top: 0
bottom: 0
left: 5
right: 5
type: Padding
desc: Padding for tabs
tabs.position:
default: top
type: Position
desc: The position of the tab bar.
tabs.select_on_remove:
default: 'next'
type: SelectOnRemove
desc: Which tab to select when the focused tab is removed.
tabs.show:
default: always
type:
name: String
valid_values:
- always: Always show the tab bar.
- never: Always hide the tab bar.
- multiple: Hide the tab bar if only one tab is open.
- switching: Show the tab bar when switching tabs.
desc: When to show the tab bar.
tabs.show_switching_delay:
default: 800
type: Int
desc: "Time to show the tab bar before hiding it when tabs.show is set to
'switching'."
tabs.tabs_are_windows:
default: false
type: Bool
desc: Whether to open windows instead of tabs.
tabs.title.alignment:
default: left
type: TextAlignment
desc: Alignment of the text inside of tabs
tabs.title.format:
default: '{index}: {title}'
type:
name: FormatString
fields:
- perc
- perc_raw
- title
- title_sep
- index
- id
- scroll_pos
- host
- private
none_ok: true
desc: |
The format to use for the tab title. The following placeholders are defined:
* `{perc}`: The percentage as a string like `[10%]`.
* `{perc_raw}`: The raw percentage, e.g. `10`
* `{title}`: The title of the current web page
* `{title_sep}`: The string ` - ` if a title is set, empty otherwise.
* `{index}`: The index of this tab.
* `{id}`: The internal tab ID of this tab.
* `{scroll_pos}`: The page scroll position.
* `{host}`: The host of the current web page.
* `{backend}`: Either ''webkit'' or ''webengine''
* `{private}` : Indicates when private mode is enabled.
tabs.title.format_pinned:
default: '{index}'
type:
name: FormatString
fields:
- perc
- perc_raw
- title
- title_sep
- index
- id
- scroll_pos
- host
- private
none_ok: true
desc: The format to use for the tab title for pinned tabs. The same placeholders
like for title-format are defined.
tabs.width.bar:
default: 20%
type:
name: PercOrInt
minperc: 0
maxperc: 100
minint: 1
desc: "The width of the tab bar if it's vertical, in px or as percentage of the window."
tabs.width.indicator:
default: 3
type:
name: Int
minval: 0
desc: Width of the progress indicator (0 to disable).
tabs.width.pinned:
default: 43
type:
name: Int
minval: 10
desc: The width for pinned tabs with a horizontal tabbar, in px.
tabs.wrap:
default: true
type: Bool
desc: Whether to wrap when changing tabs.
## window
window.hide_wayland_decoration:
type: Bool
default: false
desc: Hide the window decoration when using wayland (requires restart)
window.title_format:
type:
name: FormatString
fields:
- perc
- perc_raw
- title
- title_sep
- id
- scroll_pos
- host
- backend
- private
default: '{perc}{title}{title_sep}qutebrowser'
desc: |
The format to use for the window title. The following placeholders are defined:
* `{perc}`: The percentage as a string like `[10%]`.
* `{perc_raw}`: The raw percentage, e.g. `10`
* `{title}`: The title of the current web page
* `{title_sep}`: The string ` - ` if a title is set, empty otherwise.
* `{id}`: The internal window ID of this window.
* `{scroll_pos}`: The page scroll position.
* `{host}`: The host of the current web page.
* `{backend}`: Either ''webkit'' or ''webengine''
* `{private}` : Indicates when private mode is enabled.
## zoom
zoom.default:
type: Perc
default: 100%
desc: The default zoom level.
zoom.levels:
type:
name: List
valtype:
name: Perc
minval: 0
default:
- 25%
- 33%
- 50%
- 67%
- 75%
- 90%
- 100%
- 110%
- 125%
- 150%
- 175%
- 200%
- 250%
- 300%
- 400%
- 500%
desc: The available zoom levels.
zoom.mouse_divider:
default: 512
type:
name: Int
minval: 0
desc: How much to divide the mouse wheel movements to translate them into zoom increments.
zoom.text_only:
type: Bool
default: false
backend: QtWebKit
desc: Whether the zoom factor on a frame applies only to the text or to all
content.
## colors
colors.completion.fg:
default: white
type: QtColor
desc: Text color of the completion widget.
colors.completion.odd.bg:
default: '#444444'
type: QssColor
desc: Background color of the completion widget for odd rows.
colors.completion.even.bg:
default: '#333333'
type: QssColor
desc: Background color of the completion widget for even rows.
colors.completion.category.fg:
default: white
type: QtColor
desc: Foreground color of completion widget category headers.
colors.completion.category.bg:
default: 'qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #888888, stop:1 #505050)'
type: QssColor
desc: Background color of the completion widget category headers.
colors.completion.category.border.top:
default: black
type: QssColor
desc: Top border color of the completion widget category headers.
colors.completion.category.border.bottom:
default: black
type: QssColor
desc: Bottom border color of the completion widget category headers.
colors.statusbar.insert.fg:
default: white
type: QssColor
desc: Foreground color of the statusbar in insert mode.
colors.statusbar.insert.bg:
default: darkgreen
type: QssColor
desc: Background color of the statusbar in insert mode.
colors.completion.item.selected.fg:
default: black
type: QtColor
desc: Foreground color of the selected completion item.
colors.completion.item.selected.bg:
default: '#e8c000'
type: QssColor
desc: Background color of the selected completion item.
colors.completion.item.selected.border.top:
default: '#bbbb00'
type: QssColor
desc: Top border color of the completion widget category headers.
colors.completion.item.selected.border.bottom:
default: '#bbbb00'
type: QssColor
desc: Bottom border color of the selected completion item.
colors.completion.match.fg:
default: '#ff4444'
type: QssColor
desc: Foreground color of the matched text in the completion.
colors.completion.scrollbar.fg:
default: white
type: QssColor
desc: Color of the scrollbar handle in completion view.
colors.completion.scrollbar.bg:
default: '#333333'
type: QssColor
desc: Color of the scrollbar in completion view
colors.downloads.bar.bg:
default: black
type: QssColor
desc: Background color for the download bar.
colors.downloads.start.fg:
default: white
type: QtColor
desc: Color gradient start for download text.
colors.downloads.start.bg:
default: '#0000aa'
type: QtColor
desc: Color gradient start for download backgrounds.
colors.downloads.stop.fg:
default: white
type: QtColor
desc: Color gradient end for download text.
colors.downloads.stop.bg:
default: '#00aa00'
type: QtColor
desc: Color gradient stop for download backgrounds.
colors.downloads.system.fg:
default: rgb
type: ColorSystem
desc: Color gradient interpolation system for download text.
colors.downloads.system.bg:
default: rgb
type: ColorSystem
desc: Color gradient interpolation system for download backgrounds.
colors.downloads.error.fg:
default: white
type: QtColor
desc: Foreground color for downloads with errors.
colors.downloads.error.bg:
default: red
type: QtColor
desc: Background color for downloads with errors.
colors.hints.fg:
default: black
type: QssColor
desc: Font color for hints.
colors.hints.bg:
default: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 247, 133, 0.8),
stop:1 rgba(255, 197, 66, 0.8))
type: QssColor
desc: Background color for hints. Note that you can use a `rgba(...)` value for
transparency.
colors.hints.match.fg:
default: green
type: QssColor
desc: Font color for the matched part of hints.
colors.keyhint.fg:
default: '#FFFFFF'
type: QssColor
desc: Text color for the keyhint widget.
colors.keyhint.suffix.fg:
default: '#FFFF00'
type: QssColor
desc: Highlight color for keys to complete the current keychain
colors.keyhint.bg:
default: rgba(0, 0, 0, 80%)
type: QssColor
desc: Background color of the keyhint widget.
colors.messages.error.fg:
default: white
type: QssColor
desc: Foreground color of an error message.
colors.messages.error.bg:
default: red
type: QssColor
desc: Background color of an error message.
colors.messages.error.border:
default: '#bb0000'
type: QssColor
desc: Border color of an error message.
colors.messages.warning.fg:
default: white
type: QssColor
desc: Foreground color a warning message.
colors.messages.warning.bg:
default: darkorange
type: QssColor
desc: Background color of a warning message.
colors.messages.warning.border:
default: '#d47300'
type: QssColor
desc: Border color of an error message.
colors.messages.info.fg:
default: white
type: QssColor
desc: Foreground color an info message.
colors.messages.info.bg:
default: black
type: QssColor
desc: Background color of an info message.
colors.messages.info.border:
default: '#333333'
type: QssColor
desc: Border color of an info message.
colors.prompts.fg:
default: white
type: QssColor
desc: Foreground color for prompts.
colors.prompts.bg:
default: darkblue
type: QssColor
desc: Background color for prompts.
colors.prompts.selected.bg:
default: '#308cc6'
type: QssColor
desc: Background color for the selected item in filename prompts.
colors.statusbar.normal.fg:
default: white
type: QssColor
desc: Foreground color of the statusbar.
colors.statusbar.normal.bg:
default: black
type: QssColor
desc: Background color of the statusbar.
colors.statusbar.private.fg:
default: white
type: QssColor
desc: Foreground color of the statusbar in private browsing mode.
colors.statusbar.private.bg:
default: '#666666'
type: QssColor
desc: Background color of the statusbar in private browsing mode.
colors.statusbar.command.fg:
default: white
type: QssColor
desc: Foreground color of the statusbar in command mode.
colors.statusbar.command.bg:
default: black
type: QssColor
desc: Background color of the statusbar in command mode.
colors.statusbar.command.private.fg:
default: white
type: QssColor
desc: Foreground color of the statusbar in private browsing + command mode.
colors.statusbar.command.private.bg:
default: grey
type: QssColor
desc: Background color of the statusbar in private browsing + command mode.
colors.statusbar.caret.fg:
default: white
type: QssColor
desc: Foreground color of the statusbar in caret mode.
colors.statusbar.caret.bg:
default: purple
type: QssColor
desc: Background color of the statusbar in caret mode.
colors.statusbar.caret.selection.fg:
default: white
type: QssColor
desc: Foreground color of the statusbar in caret mode with a selection
colors.statusbar.caret.selection.bg:
default: '#a12dff'
type: QssColor
desc: Background color of the statusbar in caret mode with a selection
colors.statusbar.progress.bg:
default: white
type: QssColor
desc: Background color of the progress bar.
colors.statusbar.url.fg:
default: white
type: QssColor
desc: Default foreground color of the URL in the statusbar.
colors.statusbar.url.error.fg:
default: orange
type: QssColor
desc: Foreground color of the URL in the statusbar on error.
colors.statusbar.url.hover.fg:
default: aqua
desc: Foreground color of the URL in the statusbar for hovered links.
type: QssColor
colors.statusbar.url.success.http.fg:
default: white
type: QssColor
desc: Foreground color of the URL in the statusbar on successful load (http).
colors.statusbar.url.success.https.fg:
default: lime
type: QssColor
desc: Foreground color of the URL in the statusbar on successful load (https).
colors.statusbar.url.warn.fg:
default: yellow
type: QssColor
desc: "Foreground color of the URL in the statusbar when there's a warning."
colors.tabs.bar.bg:
default: '#555555'
type: QtColor
desc: Background color of the tab bar.
colors.tabs.indicator.start:
default: '#0000aa'
type: QtColor
desc: Color gradient start for the tab indicator.
colors.tabs.indicator.stop:
default: '#00aa00'
type: QtColor
desc: Color gradient end for the tab indicator.
colors.tabs.indicator.error:
default: '#ff0000'
type: QtColor
desc: Color for the tab indicator on errors..
colors.tabs.indicator.system:
default: rgb
type: ColorSystem
desc: Color gradient interpolation system for the tab indicator.
colors.tabs.odd.fg:
default: white
type: QtColor
desc: Foreground color of unselected odd tabs.
colors.tabs.odd.bg:
default: grey
type: QtColor
desc: Background color of unselected odd tabs.
colors.tabs.even.fg:
default: white
type: QtColor
desc: Foreground color of unselected even tabs.
colors.tabs.even.bg:
default: darkgrey
type: QtColor
desc: Background color of unselected even tabs.
colors.tabs.selected.odd.fg:
default: white
type: QtColor
desc: Foreground color of selected odd tabs.
colors.tabs.selected.odd.bg:
default: black
type: QtColor
desc: Background color of selected odd tabs.
colors.tabs.selected.even.fg:
default: white
type: QtColor
desc: Foreground color of selected even tabs.
colors.tabs.selected.even.bg:
default: black
type: QtColor
desc: Background color of selected even tabs.
colors.webpage.bg:
default: white
type:
name: QtColor
none_ok: true
desc: "Background color for webpages if unset (or empty to use the theme's color)"
## fonts
fonts.monospace:
default: xos4 Terminus, Terminus, Monospace, "DejaVu Sans Mono", Monaco, "Bitstream
Vera Sans Mono", "Andale Mono", "Courier New", Courier, "Liberation Mono", monospace,
Fixed, Consolas, Terminal
type: Font
desc: Default monospace fonts.
fonts.completion.entry:
default: 8pt monospace
type: Font
desc: Font used in the completion widget.
fonts.completion.category:
default: bold 8pt monospace
type: Font
desc: Font used in the completion categories.
fonts.debug_console:
default: 8pt monospace
type: QtFont
desc: Font used for the debugging console.
fonts.downloads:
default: 8pt monospace
type: Font
desc: Font used for the downloadbar.
fonts.hints:
default: bold 13px monospace
type: Font
desc: Font used for the hints.
fonts.keyhint:
default: 8pt monospace
type: Font
desc: Font used in the keyhint widget.
fonts.messages.error:
default: 8pt monospace
type: Font
desc: Font used for error messages.
fonts.messages.info:
default: 8pt monospace
type: Font
desc: Font used for info messages.
fonts.messages.warning:
default: 8pt monospace
type: Font
desc: Font used for warning messages.
fonts.prompts:
default: 8pt sans-serif
type: Font
desc: Font used for prompts.
fonts.statusbar:
default: 8pt monospace
type: Font
desc: Font used in the statusbar.
fonts.tabbar:
default: 8pt monospace
type: QtFont
desc: Font used in the tab bar.
fonts.web.family.standard:
default: ''
type:
name: FontFamily
none_ok: true
desc: Font family for standard fonts.
fonts.web.family.fixed:
default: ''
type:
name: FontFamily
none_ok: true
desc: Font family for fixed fonts.
fonts.web.family.serif:
default: ''
type:
name: FontFamily
none_ok: true
desc: Font family for serif fonts.
fonts.web.family.sans_serif:
default: ''
type:
name: FontFamily
none_ok: true
desc: Font family for sans-serif fonts.
fonts.web.family.cursive:
default: ''
type:
name: FontFamily
none_ok: true
desc: Font family for cursive fonts.
fonts.web.family.fantasy:
default: ''
type:
name: FontFamily
none_ok: true
desc: Font family for fantasy fonts.
# Defaults for web_size_* from WebEngineSettings::initDefaults in
# qtwebengine/src/core/web_engine_settings.cpp and
# QWebSettings::QWebSettings() in
# qtwebkit/Source/WebKit/qt/Api/qwebsettings.cpp
fonts.web.size.default:
default: 16
type:
name: Int
minval: 1
maxval: maxint
desc: The default font size for regular text.
fonts.web.size.default_fixed:
default: 13
type:
name: Int
minval: 1
maxval: maxint
desc: The default font size for fixed-pitch text.
fonts.web.size.minimum:
default: 0
type:
name: Int
minval: 0
maxval: maxint
desc: The hard minimum font size.
fonts.web.size.minimum_logical:
# This is 0 as default on QtWebKit, and 6 on QtWebEngine - so let's
# just go for 6 here.
default: 6
type:
name: Int
minval: 0
maxval: maxint
desc: The minimum logical font size that is applied when zooming out.
## keybindings
bindings.key_mappings:
default:
<Ctrl-[>: <Escape>
<Ctrl-6>: <Ctrl-^>
<Ctrl-M>: <Return>
<Ctrl-J>: <Return>
<Shift-Return>: <Return>
<Enter>: <Return>
<Shift-Enter>: <Return>
<Ctrl-Enter>: <Ctrl-Return>
<Ctrl-[>: <Escape>
type:
name: Dict
keytype: Key
valtype: Key
desc: >-
This setting can be used to map keys to other keys.
When the key used as dictionary-key is pressed, the binding for the key used
as dictionary-value is invoked instead.
This is useful for global remappings of keys, for example to map Ctrl-[ to
Escape.
bindings.commands:
default:
normal:
<Escape>: clear-keychain ;; search ;; fullscreen --leave
o: set-cmd-text -s :open
go: set-cmd-text :open {url:pretty}
O: set-cmd-text -s :open -t
gO: set-cmd-text :open -t -i {url:pretty}
xo: set-cmd-text -s :open -b
xO: set-cmd-text :open -b -i {url:pretty}
wo: set-cmd-text -s :open -w
wO: set-cmd-text :open -w {url:pretty}
/: set-cmd-text /
?: set-cmd-text ?
":": "set-cmd-text :"
ga: open -t
<Ctrl-T>: open -t
<Ctrl-N>: open -w
d: tab-close
<Ctrl-W>: tab-close
D: tab-close -o
co: tab-only
T: tab-focus
gm: tab-move
gl: tab-move -
gr: tab-move +
J: tab-next
<Ctrl-PgDown>: tab-next
K: tab-prev
<Ctrl-PgUp>: tab-prev
gC: tab-clone
r: reload
<F5>: reload
R: reload -f
<Ctrl-F5>: reload -f
H: back
<back>: back
th: back -t
wh: back -w
L: forward
<forward>: forward
tl: forward -t
wl: forward -w
<F11>: fullscreen
f: hint
F: hint all tab
wf: hint all window
;b: hint all tab-bg
;f: hint all tab-fg
;h: hint all hover
;i: hint images
;I: hint images tab
;o: hint links fill :open {hint-url}
;O: hint links fill :open -t -i {hint-url}
;y: hint links yank
;Y: hint links yank-primary
;r: hint --rapid links tab-bg
;R: hint --rapid links window
;d: hint links download
;t: hint inputs
h: scroll left
j: scroll down
k: scroll up
l: scroll right
u: undo
<Ctrl-Shift-T>: undo
gg: scroll-perc 0
G: scroll-perc
n: search-next
N: search-prev
i: enter-mode insert
v: enter-mode caret
"`": enter-mode set_mark
"'": enter-mode jump_mark
yy: yank
yY: yank -s
yt: yank title
yT: yank title -s
yd: yank domain
yD: yank domain -s
yp: yank pretty-url
yP: yank pretty-url -s
pp: open -- {clipboard}
pP: open -- {primary}
Pp: open -t -- {clipboard}
PP: open -t -- {primary}
wp: open -w -- {clipboard}
wP: open -w -- {primary}
m: quickmark-save
b: set-cmd-text -s :quickmark-load
B: set-cmd-text -s :quickmark-load -t
wb: set-cmd-text -s :quickmark-load -w
M: bookmark-add
gb: set-cmd-text -s :bookmark-load
gB: set-cmd-text -s :bookmark-load -t
wB: set-cmd-text -s :bookmark-load -w
sf: save
ss: set-cmd-text -s :set
sl: set-cmd-text -s :set -t
sk: set-cmd-text -s :bind
-: zoom-out
+: zoom-in
=: zoom
"[[": navigate prev
"]]": navigate next
"{{": navigate prev -t
"}}": navigate next -t
gu: navigate up
gU: navigate up -t
<Ctrl-A>: navigate increment
<Ctrl-X>: navigate decrement
wi: inspector
gd: download
ad: download-cancel
cd: download-clear
gf: view-source
gt: set-cmd-text -s :buffer
<Ctrl-Tab>: tab-focus last
<Ctrl-^>: tab-focus last
<Ctrl-V>: enter-mode passthrough
<Ctrl-Q>: quit
ZQ: quit
ZZ: wq
<Ctrl-F>: scroll-page 0 1
<Ctrl-B>: scroll-page 0 -1
<Ctrl-D>: scroll-page 0 0.5
<Ctrl-U>: scroll-page 0 -0.5
<Alt-1>: tab-focus 1
g0: tab-focus 1
g^: tab-focus 1
<Alt-2>: tab-focus 2
<Alt-3>: tab-focus 3
<Alt-4>: tab-focus 4
<Alt-5>: tab-focus 5
<Alt-6>: tab-focus 6
<Alt-7>: tab-focus 7
<Alt-8>: tab-focus 8
<Alt-9>: tab-focus -1
g$: tab-focus -1
<Ctrl-h>: home
<Ctrl-s>: stop
<Ctrl-Alt-p>: print
Ss: open qute://settings
<Return>: follow-selected
<Ctrl-Return>: follow-selected -t
.: repeat-command
<Ctrl-p>: tab-pin
q: record-macro
"@": run-macro
insert:
<Ctrl-E>: open-editor
<Shift-Ins>: insert-text {primary}
<Escape>: leave-mode
hint:
<Return>: follow-hint
<Ctrl-R>: hint --rapid links tab-bg
<Ctrl-F>: hint links
<Ctrl-B>: hint all tab-bg
<Escape>: leave-mode
passthrough:
<Escape>: leave-mode
command:
# FIXME:conf what to do about up/down?
<Ctrl-P>: command-history-prev
<Ctrl-N>: command-history-next
<Shift-Tab>: completion-item-focus prev
<Up>: completion-item-focus prev
<Tab>: completion-item-focus next
<Down>: completion-item-focus next
<Ctrl-Tab>: completion-item-focus next-category
<Ctrl-Shift-Tab>: completion-item-focus prev-category
<Ctrl-D>: completion-item-del
<Shift-Delete>: completion-item-del
<Return>: command-accept
<Ctrl-B>: rl-backward-char
<Ctrl-F>: rl-forward-char
<Alt-B>: rl-backward-word
<Alt-F>: rl-forward-word
<Ctrl-A>: rl-beginning-of-line
<Ctrl-E>: rl-end-of-line
<Ctrl-U>: rl-unix-line-discard
<Ctrl-K>: rl-kill-line
<Alt-D>: rl-kill-word
<Ctrl-W>: rl-unix-word-rubout
<Alt-Backspace>: rl-backward-kill-word
<Ctrl-Y>: rl-yank
<Ctrl-?>: rl-delete-char
<Ctrl-H>: rl-backward-delete-char
<Escape>: leave-mode
prompt:
<Return>: prompt-accept
y: prompt-accept yes
n: prompt-accept no
<Ctrl-X>: prompt-open-download
<Shift-Tab>: prompt-item-focus prev
<Up>: prompt-item-focus prev
<Tab>: prompt-item-focus next
<Down>: prompt-item-focus next
<Ctrl-B>: rl-backward-char
<Ctrl-F>: rl-forward-char
<Alt-B>: rl-backward-word
<Alt-F>: rl-forward-word
<Ctrl-A>: rl-beginning-of-line
<Ctrl-E>: rl-end-of-line
<Ctrl-U>: rl-unix-line-discard
<Ctrl-K>: rl-kill-line
<Alt-D>: rl-kill-word
<Ctrl-W>: rl-unix-word-rubout
<Alt-Backspace>: rl-backward-kill-word
<Ctrl-Y>: rl-yank
<Ctrl-?>: rl-delete-char
<Ctrl-H>: rl-backward-delete-char
<Escape>: leave-mode
caret:
v: toggle-selection
<Space>: toggle-selection
<Ctrl-Space>: drop-selection
c: enter-mode normal
j: move-to-next-line
k: move-to-prev-line
l: move-to-next-char
h: move-to-prev-char
e: move-to-end-of-word
w: move-to-next-word
b: move-to-prev-word
"]": move-to-start-of-next-block
"[": move-to-start-of-prev-block
"}": move-to-end-of-next-block
"{": move-to-end-of-prev-block
"0": move-to-start-of-line
$: move-to-end-of-line
gg: move-to-start-of-document
G: move-to-end-of-document
Y: yank selection -s
y: yank selection
<Return>: yank selection
H: scroll left
J: scroll down
K: scroll up
L: scroll right
<Escape>: leave-mode
register:
<Escape>: leave-mode
type:
name: Dict
keytype: String # section name
fixed_keys: ['normal', 'insert', 'hint', 'passthrough', 'command',
'prompt', 'caret', 'register']
valtype:
name: Dict
keytype: Key
valtype: Command
desc: >-
Keybindings mapping keys to commands in different modes.
This setting is a dictionary containing mode names and dictionaries mapping
keys to commands:
`{mode: {key: command}}`
If you want to map a key to another key, check the `bindings.key_mappings`
setting instead.
For special keys (can't be part of a keychain), enclose them in `<`...`>`.
For modifiers, you can use either `-` or `+` as delimiters, and these names:
* Control: `Control`, `Ctrl`
* Meta: `Meta`, `Windows`, `Mod4`
* Alt: `Alt`, `Mod1`
* Shift: `Shift`
For simple keys (no `<>`-signs), a capital letter means the key is pressed
with Shift. For special keys (with `<>`-signs), you need to explicitly add
`Shift-` to match a key pressed with shift.
To completely unbind a default binding, bind it to the `nop` command.
Note that some commands which are only useful for bindings (but not used
interactively) are hidden from the command completion. See `:help` for a
full list of available commands.
The following modes are available:
* normal: The default mode, where most commands are invoked.
* insert: Entered when an input field is focused on a website, or by
pressing `i` in normal mode. Passes through almost all keypresses to the
website, but has some bindings like `<Ctrl-e>` to open an external editor.
Note that single keys can't be bound in this mode.
* hint: Entered when `f` is pressed to select links with the keyboard. Note
that single keys can't be bound in this mode.
* passthrough: Similar to insert mode, but passes through all keypresses
except `<Escape>` to leave the mode. It might be useful to bind `<Escape>`
to some other key in this mode if you want to be able to send an Escape
key to the website as well. Note that single keys can't be bound in this
mode.
* command: Entered when pressing the `:` key in order to enter a command.
Note that single keys can't be bound in this mode.
* prompt: Entered when there's a prompt to display, like for download
locations or when invoked from JavaScript.
You can bind normal keys in this mode, but they will be only active when a
yes/no-prompt is asked. For other prompt modes, you can only bind special
keys.
* caret: Entered when pressing the `v` mode, used to select text using the
keyboard.
* register: Entered when qutebrowser is waiting for a register name/key for
commands like `:set-mark`.