# Setting reference

## All settings

Setting | Description
--- | ---
aliases | Aliases for commands.
auto_save.interval | Time interval (in milliseconds) between auto-saves of config/cookies/etc.
auto_save.session | Always restore open sites when qutebrowser is reopened.
backend | Backend to use to display websites.
bindings.commands | Keybindings mapping keys to commands in different modes.
bindings.default | Default keybindings. If you want to add bindings, modify `bindings.commands` instead.
bindings.key_mappings | This setting can be used to map keys to other keys.
colors.completion.category.bg | Background color of the completion widget category headers.
colors.completion.category.border.bottom | Bottom border color of the completion widget category headers.
colors.completion.category.border.top | Top border color of the completion widget category headers.
colors.completion.category.fg | Foreground color of completion widget category headers.
colors.completion.even.bg | Background color of the completion widget for even rows.
colors.completion.fg | Text color of the completion widget.
colors.completion.item.selected.bg | Background color of the selected completion item.
colors.completion.item.selected.border.bottom | Bottom border color of the selected completion item.
colors.completion.item.selected.border.top | Top border color of the completion widget category headers.
colors.completion.item.selected.fg | Foreground color of the selected completion item.
colors.completion.match.fg | Foreground color of the matched text in the completion.
colors.completion.odd.bg | Background color of the completion widget for odd rows.
colors.completion.scrollbar.bg | Color of the scrollbar in the completion view.
colors.completion.scrollbar.fg | Color of the scrollbar handle in the completion view.
colors.downloads.bar.bg | Background color for the download bar.
colors.downloads.error.bg | Background color for downloads with errors.
colors.downloads.error.fg | Foreground color for downloads with errors.
colors.downloads.start.bg | Color gradient start for download backgrounds.
colors.downloads.start.fg | Color gradient start for download text.
colors.downloads.stop.bg | Color gradient stop for download backgrounds.
colors.downloads.stop.fg | Color gradient end for download text.
colors.downloads.system.bg | Color gradient interpolation system for download backgrounds.
colors.downloads.system.fg | Color gradient interpolation system for download text.
colors.hints.bg | Background color for hints.
colors.hints.fg | Font color for hints.
colors.hints.match.fg | Font color for the matched part of hints.
colors.keyhint.bg | Background color of the keyhint widget.
colors.keyhint.fg | Text color for the keyhint widget.
colors.keyhint.suffix.fg | Highlight color for keys to complete the current keychain.
colors.messages.error.bg | Background color of an error message.
colors.messages.error.border | Border color of an error message.
colors.messages.error.fg | Foreground color of an error message.
colors.messages.info.bg | Background color of an info message.
colors.messages.info.border | Border color of an info message.
colors.messages.info.fg | Foreground color of an info message.
colors.messages.warning.bg | Background color of a warning message.
colors.messages.warning.border | Border color of a warning message.
colors.messages.warning.fg | Foreground color of a warning message.
colors.prompts.bg | Background color for prompts.
colors.prompts.border | Border used around UI elements in prompts.
colors.prompts.fg | Foreground color for prompts.
colors.prompts.selected.bg | Background color for the selected item in filename prompts.
colors.statusbar.caret.bg | Background color of the statusbar in caret mode.
colors.statusbar.caret.fg | Foreground color of the statusbar in caret mode.
colors.statusbar.caret.selection.bg | Background color of the statusbar in caret mode with a selection.
colors.statusbar.caret.selection.fg | Foreground color of the statusbar in caret mode with a selection.
colors.statusbar.command.bg | Background color of the statusbar in command mode.
colors.statusbar.command.fg | Foreground color of the statusbar in command mode.
colors.statusbar.command.private.bg | Background color of the statusbar in private browsing + command mode.
colors.statusbar.command.private.fg | Foreground color of the statusbar in private browsing + command mode.
colors.statusbar.insert.bg | Background color of the statusbar in insert mode.
colors.statusbar.insert.fg | Foreground color of the statusbar in insert mode.
colors.statusbar.normal.bg | Background color of the statusbar.
colors.statusbar.normal.fg | Foreground color of the statusbar.
colors.statusbar.passthrough.bg | Background color of the statusbar in passthrough mode.
colors.statusbar.passthrough.fg | Foreground color of the statusbar in passthrough mode.
colors.statusbar.private.bg | Background color of the statusbar in private browsing mode.
colors.statusbar.private.fg | Foreground color of the statusbar in private browsing mode.
colors.statusbar.progress.bg | Background color of the progress bar.
colors.statusbar.url.error.fg | Foreground color of the URL in the statusbar on error.
colors.statusbar.url.fg | Default foreground color of the URL in the statusbar.
colors.statusbar.url.hover.fg | Foreground color of the URL in the statusbar for hovered links.
colors.statusbar.url.success.http.fg | Foreground color of the URL in the statusbar on successful load (http).
colors.statusbar.url.success.https.fg | Foreground color of the URL in the statusbar on successful load (https).
colors.statusbar.url.warn.fg | Foreground color of the URL in the statusbar when there’s a warning.
colors.tabs.bar.bg | Background color of the tab bar.
colors.tabs.even.bg | Background color of unselected even tabs.
colors.tabs.even.fg | Foreground color of unselected even tabs.
colors.tabs.indicator.error | Color for the tab indicator on errors.
colors.tabs.indicator.start | Color gradient start for the tab indicator.
colors.tabs.indicator.stop | Color gradient end for the tab indicator.
colors.tabs.indicator.system | Color gradient interpolation system for the tab indicator.
colors.tabs.odd.bg | Background color of unselected odd tabs.
colors.tabs.odd.fg | Foreground color of unselected odd tabs.
colors.tabs.selected.even.bg | Background color of selected even tabs.
colors.tabs.selected.even.fg | Foreground color of selected even tabs.
colors.tabs.selected.odd.bg | Background color of selected odd tabs.
colors.tabs.selected.odd.fg | Foreground color of selected odd tabs.
colors.webpage.bg | Background color for webpages if unset (or empty to use the theme’s color).
completion.cmd_history_max_items | Number of commands to save in the command history.
completion.delay | Delay (in milliseconds) before updating completions after typing a character.
completion.height | Height (in pixels or as percentage of the window) of the completion.
completion.min_chars | Minimum amount of characters needed to update completions.
completion.open_categories | Which categories to show (in which order) in the :open completion.
completion.quick | Move on to the next part when there’s only one possible completion left.
completion.scrollbar.padding | Padding (in pixels) of the scrollbar handle in the completion window.
completion.scrollbar.width | Width (in pixels) of the scrollbar in the completion window.
completion.show | When to show the autocompletion window.
completion.shrink | Shrink the completion to be smaller than the configured size if there are no scrollbars.
completion.timestamp_format | Format of timestamps (e.g. for the history completion).
completion.use_best_match | Execute the best-matching command on a partial match.
completion.web_history.exclude | A list of patterns which should not be shown in the history.
completion.web_history.max_items | Number of URLs to show in the web history.
confirm_quit | Require a confirmation before quitting the application.
content.autoplay | Automatically start playing `<video>` elements.
content.cache.appcache | Enable support for the HTML 5 web application cache feature.
content.cache.maximum_pages | Maximum number of pages to hold in the global memory page cache.
content.cache.size | Size (in bytes) of the HTTP network cache. Null to use the default value.
content.canvas_reading | Allow websites to read canvas elements.
content.cookies.accept | Which cookies to accept.
content.cookies.store | Store cookies.
content.default_encoding | Default encoding to use for websites.
content.desktop_capture | Allow websites to share screen content.
content.dns_prefetch | Try to pre-fetch DNS entries to speed up browsing.
content.frame_flattening | Expand each subframe to its contents.
content.geolocation | Allow websites to request geolocations.
content.headers.accept_language | Value to send in the `Accept-Language` header.
content.headers.custom | Custom headers for qutebrowser HTTP requests.
content.headers.do_not_track | Value to send in the `DNT` header.
content.headers.referer | When to send the Referer header.
content.headers.user_agent | User agent to send. Unset to send the default.
content.host_blocking.enabled | Enable host blocking.
content.host_blocking.lists | List of URLs of lists which contain hosts to block.
content.host_blocking.whitelist | A list of patterns that should always be loaded, despite being ad-blocked.
content.hyperlink_auditing | Enable hyperlink auditing (`<a ping>`).
content.images | Load images automatically in web pages.
content.javascript.alert | Show javascript alerts.
content.javascript.can_access_clipboard | Allow JavaScript to read from or write to the clipboard.
content.javascript.can_close_tabs | Allow JavaScript to close tabs.
content.javascript.can_open_tabs_automatically | Allow JavaScript to open new tabs without user interaction.
content.javascript.enabled | Enable JavaScript.
content.javascript.log | Log levels to use for JavaScript console logging messages.
content.javascript.modal_dialog | Use the standard JavaScript modal dialog for `alert()` and `confirm()`.
content.javascript.prompt | Show javascript prompts.
content.local_content_can_access_file_urls | Allow locally loaded documents to access other local URLs.
content.local_content_can_access_remote_urls | Allow locally loaded documents to access remote URLs.
content.local_storage | Enable support for HTML 5 local storage and Web SQL.
content.media_capture | Allow websites to record audio/video.
content.mouse_lock | Allow websites to lock your mouse pointer.
content.mute | Automatically mute tabs.
content.netrc_file | Netrc-file for HTTP authentication.
content.notifications | Allow websites to show notifications.
content.pdfjs | Allow pdf.js to view PDF files in the browser.
content.persistent_storage | Allow websites to request persistent storage quota via `navigator.webkitPersistentStorage.requestQuota`.
content.plugins | Enable plugins in Web pages.
content.print_element_backgrounds | Draw the background color and images also when the page is printed.
content.private_browsing | Open new windows in private browsing mode which does not record visited pages.
content.proxy | Proxy to use.
content.proxy_dns_requests | Send DNS requests over the configured proxy.
content.register_protocol_handler | Allow websites to register protocol handlers via `navigator.registerProtocolHandler`.
content.ssl_strict | Validate SSL handshakes.
content.user_stylesheets | List of user stylesheet filenames to use.
content.webgl | Enable WebGL.
content.webrtc_ip_handling_policy | Which interfaces to expose via WebRTC.
content.windowed_fullscreen | Limit fullscreen to the browser window (does not expand to fill the screen).
content.xss_auditing | Monitor load requests for cross-site scripting attempts.
downloads.location.directory | Directory to save downloads to.
downloads.location.prompt | Prompt the user for the download location.
downloads.location.remember | Remember the last used download directory.
downloads.location.suggestion | What to display in the download filename input.
downloads.open_dispatcher | Default program used to open downloads.
downloads.position | Where to show the downloaded files.
downloads.remove_finished | Duration (in milliseconds) to wait before removing finished downloads.
editor.command | Editor (and arguments) to use for the `open-editor` command. The following placeholders are defined:
editor.encoding | Encoding to use for the editor.
fonts.completion.category | Font used in the completion categories.
fonts.completion.entry | Font used in the completion widget.
fonts.debug_console | Font used for the debugging console.
fonts.downloads | Font used for the downloadbar.
fonts.hints | Font used for the hints.
fonts.keyhint | Font used in the keyhint widget.
fonts.messages.error | Font used for error messages.
fonts.messages.info | Font used for info messages.
fonts.messages.warning | Font used for warning messages.
fonts.monospace | Default monospace fonts.
fonts.prompts | Font used for prompts.
fonts.statusbar | Font used in the statusbar.
fonts.tabs | Font used in the tab bar.
fonts.web.family.cursive | Font family for cursive fonts.
fonts.web.family.fantasy | Font family for fantasy fonts.
fonts.web.family.fixed | Font family for fixed fonts.
fonts.web.family.sans_serif | Font family for sans-serif fonts.
fonts.web.family.serif | Font family for serif fonts.
fonts.web.family.standard | Font family for standard fonts.
fonts.web.size.default | Default font size (in pixels) for regular text.
fonts.web.size.default_fixed | Default font size (in pixels) for fixed-pitch text.
fonts.web.size.minimum | Hard minimum font size (in pixels).
fonts.web.size.minimum_logical | Minimum logical font size (in pixels) that is applied when zooming out.
hints.auto_follow | When a hint can be automatically followed without pressing Enter.
hints.auto_follow_timeout | Duration (in milliseconds) to ignore normal-mode key bindings after a successful auto-follow.
hints.border | CSS border value for hints.
hints.chars | Characters used for hint strings.
hints.dictionary | Dictionary file to be used by the word hints.
hints.find_implementation | Which implementation to use to find elements to hint.
hints.hide_unmatched_rapid_hints | Hide unmatched hints in rapid mode.
hints.min_chars | Minimum number of characters used for hint strings.
hints.mode | Mode to use for hints.
hints.next_regexes | Comma-separated list of regular expressions to use for next links.
hints.prev_regexes | Comma-separated list of regular expressions to use for prev links.
hints.scatter | Scatter hint key chains (like Vimium) or not (like dwb).
hints.selectors | CSS selectors used to determine which elements on a page should have hints.
hints.uppercase | Make characters in hint strings uppercase.
history_gap_interval | Maximum time (in minutes) between two history items for them to be considered being from the same browsing session.
input.escape_quits_reporter | Allow Escape to quit the crash reporter.
input.forward_unbound_keys | Which unbound keys to forward to the webview in normal mode.
input.insert_mode.auto_enter | Enter insert mode if an editable element is clicked.
input.insert_mode.auto_leave | Leave insert mode if a non-editable element is clicked.
input.insert_mode.auto_load | Automatically enter insert mode if an editable element is focused after loading the page.
input.insert_mode.leave_on_load | Leave insert mode when starting a new page load.
input.insert_mode.plugins | Switch to insert mode when clicking flash and other plugins.
input.links_included_in_focus_chain | Include hyperlinks in the keyboard focus chain when tabbing.
input.partial_timeout | Timeout (in milliseconds) for partially typed key bindings.
input.rocker_gestures | Enable Opera-like mouse rocker gestures.
input.spatial_navigation | Enable spatial navigation.
keyhint.blacklist | Keychains that shouldn’t be shown in the keyhint dialog.
keyhint.delay | Time (in milliseconds) from pressing a key to seeing the keyhint dialog.
keyhint.radius | Rounding radius (in pixels) for the edges of the keyhint dialog.
messages.timeout | Duration (in milliseconds) to show messages in the statusbar for.
new_instance_open_target | How to open links in an existing instance if a new one is launched.
new_instance_open_target_window | Which window to choose when opening links as new tabs.
prompt.filebrowser | Show a filebrowser in upload/download prompts.
prompt.radius | Rounding radius (in pixels) for the edges of prompts.
qt.args | Additional arguments to pass to Qt, without leading `--`.
qt.force_platform | Force a Qt platform to use.
qt.force_software_rendering | Force software rendering for QtWebEngine.
qt.highdpi | Turn on Qt HighDPI scaling.
qt.low_end_device_mode | When to use Chromium’s low-end device mode.
qt.process_model | Which Chromium process model to use.
scrolling.bar | When to show the scrollbar.
scrolling.smooth | Enable smooth scrolling for web pages.
search.ignore_case | When to find text on a page case-insensitively.
search.incremental | Find text on a page incrementally, renewing the search for each typed character.
session.default_name | Name of the session to save by default.
session.lazy_restore | Load a restored tab as soon as it takes focus.
spellcheck.languages | Languages to use for spell checking.
statusbar.hide | Hide the statusbar unless a message is shown.
statusbar.padding | Padding (in pixels) for the statusbar.
statusbar.position | Position of the status bar.
statusbar.widgets | List of widgets displayed in the statusbar.
tabs.background | Open new tabs (middleclick/ctrl+click) in the background.
tabs.close_mouse_button | Mouse button with which to close tabs.
tabs.close_mouse_button_on_bar | How to behave when the close mouse button is pressed on the tab bar.
tabs.favicons.scale | Scaling factor for favicons in the tab bar.
tabs.favicons.show | When to show favicons in the tab bar.
tabs.indicator.padding | Padding (in pixels) for tab indicators.
tabs.indicator.width | Width (in pixels) of the progress indicator (0 to disable).
tabs.last_close | How to behave when the last tab is closed.
tabs.max_width | Maximum width (in pixels) of tabs (-1 for no maximum).
tabs.min_width | Minimum width (in pixels) of tabs (-1 for the default minimum size behavior).
tabs.mode_on_change | When switching tabs, what input mode is applied.
tabs.mousewheel_switching | Switch between tabs using the mouse wheel.
tabs.new_position.related | Position of new tabs opened from another tab.
tabs.new_position.stacking | Stack related tabs on top of each other when opened consecutively.
tabs.new_position.unrelated | Position of new tabs which are not opened from another tab.
tabs.padding | Padding (in pixels) around text for tabs.
tabs.pinned.frozen | Force pinned tabs to stay at fixed URL.
tabs.pinned.shrink | Shrink pinned tabs down to their contents.
tabs.position | Position of the tab bar.
tabs.select_on_remove | Which tab to select when the focused tab is removed.
tabs.show | When to show the tab bar.
tabs.show_switching_delay | Duration (in milliseconds) to show the tab bar before hiding it when tabs.show is set to switching.
tabs.tabs_are_windows | Open a new window for every tab.
tabs.title.alignment | Alignment of the text inside of tabs.
tabs.title.format | Format to use for the tab title.
tabs.title.format_pinned | Format to use for the tab title for pinned tabs. The same placeholders like for `tabs.title.format` are defined.
tabs.width | Width (in pixels or as percentage of the window) of the tab bar if it’s vertical.
tabs.wrap | Wrap when changing tabs.
url.auto_search | What search to start when something else than a URL is entered.
url.default_page | Page to open if :open -t/-b/-w is used without URL.
url.incdec_segments | URL segments where `:navigate increment/decrement` will search for a number.
url.open_base_url | Open base URL of the searchengine if a searchengine shortcut is invoked without parameters.
url.searchengines | Search engines which can be used via the address bar.
url.start_pages | Page(s) to open at the start.
url.yank_ignored_parameters | URL parameters to strip with `:yank url`.
window.hide_decoration | Hide the window decoration.
window.title_format | Format to use for the window title. The same placeholders like for
zoom.default | Default zoom level.
zoom.levels | Available zoom levels.
zoom.mouse_divider | Number of zoom increments to divide the mouse wheel movements to.
zoom.text_only | Apply the zoom factor on a frame only to the text or to all content.

### aliases

Aliases for commands. The keys of the given dictionary are the aliases, while the values are the commands they map to.

Type: Dict

Default:

- `q`: `close`

- `qa`: `quit`

- `w`: `session-save`

- `wq`: `quit --save`

- `wqa`: `quit --save`

### auto_save.interval

Time interval (in milliseconds) between auto-saves of config/cookies/etc.

Type: Int

Default: `15000`

### auto_save.session

Always restore open sites when qutebrowser is reopened.

Type: Bool

Default: `false`

### backend

Backend to use to display websites. qutebrowser supports two different web rendering engines / backends, QtWebKit and QtWebEngine. QtWebKit was discontinued by the Qt project with Qt 5.6, but picked up as a well maintained fork: https://github.com/annulen/webkit/wiki - qutebrowser only supports the fork. QtWebEngine is Qt’s official successor to QtWebKit. It’s slightly more resource hungry than QtWebKit and has a couple of missing features in qutebrowser, but is generally the preferred choice. This setting requires a restart.

Type: String

Valid values:

- `webengine`: Use QtWebEngine (based on Chromium).

- `webkit`: Use QtWebKit (based on WebKit, similar to Safari).

Default: `webengine`

### bindings.commands

Keybindings mapping keys to commands in different modes. While it’s possible to add bindings with this setting, it’s recommended to use `config.bind()` in `config.py` or the `:bind` command, and leave this setting alone. 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 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. If you want a binding to do nothing, bind it to the `nop` command. If you want a default binding to be passed through to the website, bind it to null. 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: 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.

- yesno: Entered when there’s a yes/no prompt displayed.

- 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`.

Type: Dict

Default: empty

### bindings.default

Default keybindings. If you want to add bindings, modify `bindings.commands` instead. The main purpose of this setting is that you can set it to an empty dictionary if you want to load no default keybindings at all. If you want to preserve default bindings (and get new bindings when there is an update), use `config.bind()` in `config.py` or the `:bind` command, and leave this setting alone.

This setting can only be set in config.py.

Type: Dict

Default:

- `caret`:

  - `$`: `move-to-end-of-line`

  - `0`: `move-to-start-of-line`

  - `<Ctrl-Space>`: `drop-selection`

  - `<Escape>`: `leave-mode`

  - `<Return>`: `yank selection`

  - `<Space>`: `toggle-selection`

  - `G`: `move-to-end-of-document`

  - `H`: `scroll left`

  - `J`: `scroll down`

  - `K`: `scroll up`

  - `L`: `scroll right`

  - `Y`: `yank selection -s`

  - `[`: `move-to-start-of-prev-block`

  - `]`: `move-to-start-of-next-block`

  - `b`: `move-to-prev-word`

  - `c`: `enter-mode normal`

  - `e`: `move-to-end-of-word`

  - `gg`: `move-to-start-of-document`

  - `h`: `move-to-prev-char`

  - `j`: `move-to-next-line`

  - `k`: `move-to-prev-line`

  - `l`: `move-to-next-char`

  - `v`: `toggle-selection`

  - `w`: `move-to-next-word`

  - `y`: `yank selection`

  - `{`: `move-to-end-of-prev-block`

  - `}`: `move-to-end-of-next-block`

- `command`:

  - `<Alt-B>`: `rl-backward-word`

  - `<Alt-Backspace>`: `rl-backward-kill-word`

  - `<Alt-D>`: `rl-kill-word`

  - `<Alt-F>`: `rl-forward-word`

  - `<Ctrl-?>`: `rl-delete-char`

  - `<Ctrl-A>`: `rl-beginning-of-line`

  - `<Ctrl-B>`: `rl-backward-char`

  - `<Ctrl-C>`: `completion-item-yank`

  - `<Ctrl-D>`: `completion-item-del`

  - `<Ctrl-E>`: `rl-end-of-line`

  - `<Ctrl-F>`: `rl-forward-char`

  - `<Ctrl-H>`: `rl-backward-delete-char`

  - `<Ctrl-K>`: `rl-kill-line`

  - `<Ctrl-N>`: `command-history-next`

  - `<Ctrl-P>`: `command-history-prev`

  - `<Ctrl-Return>`: `command-accept --rapid`

  - `<Ctrl-Shift-C>`: `completion-item-yank --sel`

  - `<Ctrl-Shift-Tab>`: `completion-item-focus prev-category`

  - `<Ctrl-Tab>`: `completion-item-focus next-category`

  - `<Ctrl-U>`: `rl-unix-line-discard`

  - `<Ctrl-W>`: `rl-unix-word-rubout`

  - `<Ctrl-Y>`: `rl-yank`

  - `<Down>`: `completion-item-focus --history next`

  - `<Escape>`: `leave-mode`

  - `<Return>`: `command-accept`

  - `<Shift-Delete>`: `completion-item-del`

  - `<Shift-Tab>`: `completion-item-focus prev`

  - `<Tab>`: `completion-item-focus next`

  - `<Up>`: `completion-item-focus --history prev`

- `hint`:

  - `<Ctrl-B>`: `hint all tab-bg`

  - `<Ctrl-F>`: `hint links`

  - `<Ctrl-R>`: `hint --rapid links tab-bg`

  - `<Escape>`: `leave-mode`

  - `<Return>`: `follow-hint`

- `insert`:

  - `<Ctrl-E>`: `open-editor`

  - `<Escape>`: `leave-mode`

  - `<Shift-Ins>`: `insert-text {primary}`

- `normal`:

  - `'`: `enter-mode jump_mark`

  - `+`: `zoom-in`

  - `-`: `zoom-out`

  - `.`: `repeat-command`

  - `/`: `set-cmd-text /`

  - `:`: `set-cmd-text :`

  - `;I`: `hint images tab`

  - `;O`: `hint links fill :open -t -r {hint-url}`

  - `;R`: `hint --rapid links window`

  - `;Y`: `hint links yank-primary`

  - `;b`: `hint all tab-bg`

  - `;d`: `hint links download`

  - `;f`: `hint all tab-fg`

  - `;h`: `hint all hover`

  - `;i`: `hint images`

  - `;o`: `hint links fill :open {hint-url}`

  - `;r`: `hint --rapid links tab-bg`

  - `;t`: `hint inputs`

  - `;y`: `hint links yank`

  - `<Alt-1>`: `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`

  - `<Alt-m>`: `tab-mute`

  - `<Ctrl-A>`: `navigate increment`

  - `<Ctrl-Alt-p>`: `print`

  - `<Ctrl-B>`: `scroll-page 0 -1`

  - `<Ctrl-D>`: `scroll-page 0 0.5`

  - `<Ctrl-F5>`: `reload -f`

  - `<Ctrl-F>`: `scroll-page 0 1`

  - `<Ctrl-N>`: `open -w`

  - `<Ctrl-PgDown>`: `tab-next`

  - `<Ctrl-PgUp>`: `tab-prev`

  - `<Ctrl-Q>`: `quit`

  - `<Ctrl-Return>`: `follow-selected -t`

  - `<Ctrl-Shift-N>`: `open -p`

  - `<Ctrl-Shift-T>`: `undo`

  - `<Ctrl-Shift-Tab>`: `nop`

  - `<Ctrl-Shift-W>`: `close`

  - `<Ctrl-T>`: `open -t`

  - `<Ctrl-Tab>`: `tab-focus last`

  - `<Ctrl-U>`: `scroll-page 0 -0.5`

  - `<Ctrl-V>`: `enter-mode passthrough`

  - `<Ctrl-W>`: `tab-close`

  - `<Ctrl-X>`: `navigate decrement`

  - `<Ctrl-^>`: `tab-focus last`

  - `<Ctrl-h>`: `home`

  - `<Ctrl-p>`: `tab-pin`

  - `<Ctrl-s>`: `stop`

  - `<Escape>`: `clear-keychain ;; search ;; fullscreen --leave`

  - `<F11>`: `fullscreen`

  - `<F5>`: `reload`

  - `<Return>`: `follow-selected`

  - `<back>`: `back`

  - `<forward>`: `forward`

  - `=`: `zoom`

  - `?`: `set-cmd-text ?`

  - `@`: `run-macro`

  - `B`: `set-cmd-text -s :quickmark-load -t`

  - `D`: `tab-close -o`

  - `F`: `hint all tab`

  - `G`: `scroll-to-perc`

  - `H`: `back`

  - `J`: `tab-next`

  - `K`: `tab-prev`

  - `L`: `forward`

  - `M`: `bookmark-add`

  - `N`: `search-prev`

  - `O`: `set-cmd-text -s :open -t`

  - `PP`: `open -t -- {primary}`

  - `Pp`: `open -t -- {clipboard}`

  - `R`: `reload -f`

  - `Sb`: `open qute://bookmarks#bookmarks`

  - `Sh`: `open qute://history`

  - `Sq`: `open qute://bookmarks`

  - `Ss`: `open qute://settings`

  - `T`: `tab-focus`

  - `ZQ`: `quit`

  - `ZZ`: `quit --save`

  - `[[`: `navigate prev`

  - `]]`: `navigate next`

  - ```: `enter-mode set_mark`

  - `ad`: `download-cancel`

  - `b`: `set-cmd-text -s :quickmark-load`

  - `cd`: `download-clear`

  - `co`: `tab-only`

  - `d`: `tab-close`

  - `f`: `hint`

  - `g$`: `tab-focus -1`

  - `g0`: `tab-focus 1`

  - `gB`: `set-cmd-text -s :bookmark-load -t`

  - `gC`: `tab-clone`

  - `gD`: `tab-give`

  - `gO`: `set-cmd-text :open -t -r {url:pretty}`

  - `gU`: `navigate up -t`

  - `g^`: `tab-focus 1`

  - `ga`: `open -t`

  - `gb`: `set-cmd-text -s :bookmark-load`

  - `gd`: `download`

  - `gf`: `view-source`

  - `gg`: `scroll-to-perc 0`

  - `gi`: `hint inputs --first`

  - `gl`: `tab-move -`

  - `gm`: `tab-move`

  - `go`: `set-cmd-text :open {url:pretty}`

  - `gr`: `tab-move +`

  - `gt`: `set-cmd-text -s :buffer`

  - `gu`: `navigate up`

  - `h`: `scroll left`

  - `i`: `enter-mode insert`

  - `j`: `scroll down`

  - `k`: `scroll up`

  - `l`: `scroll right`

  - `m`: `quickmark-save`

  - `n`: `search-next`

  - `o`: `set-cmd-text -s :open`

  - `pP`: `open -- {primary}`

  - `pp`: `open -- {clipboard}`

  - `q`: `record-macro`

  - `r`: `reload`

  - `sf`: `save`

  - `sk`: `set-cmd-text -s :bind`

  - `sl`: `set-cmd-text -s :set -t`

  - `ss`: `set-cmd-text -s :set`

  - `tIH`: `config-cycle -p -u *://*.{url:host}/* content.images ;; reload`

  - `tIh`: `config-cycle -p -u *://{url:host}/* content.images ;; reload`

  - `tIu`: `config-cycle -p -u {url} content.images ;; reload`

  - `tPH`: `config-cycle -p -u *://*.{url:host}/* content.plugins ;; reload`

  - `tPh`: `config-cycle -p -u *://{url:host}/* content.plugins ;; reload`

  - `tPu`: `config-cycle -p -u {url} content.plugins ;; reload`

  - `tSH`: `config-cycle -p -u *://*.{url:host}/* content.javascript.enabled ;; reload`

  - `tSh`: `config-cycle -p -u *://{url:host}/* content.javascript.enabled ;; reload`

  - `tSu`: `config-cycle -p -u {url} content.javascript.enabled ;; reload`

  - `th`: `back -t`

  - `tiH`: `config-cycle -p -t -u *://*.{url:host}/* content.images ;; reload`

  - `tih`: `config-cycle -p -t -u *://{url:host}/* content.images ;; reload`

  - `tiu`: `config-cycle -p -t -u {url} content.images ;; reload`

  - `tl`: `forward -t`

  - `tpH`: `config-cycle -p -t -u *://*.{url:host}/* content.plugins ;; reload`

  - `tph`: `config-cycle -p -t -u *://{url:host}/* content.plugins ;; reload`

  - `tpu`: `config-cycle -p -t -u {url} content.plugins ;; reload`

  - `tsH`: `config-cycle -p -t -u *://*.{url:host}/* content.javascript.enabled ;; reload`

  - `tsh`: `config-cycle -p -t -u *://{url:host}/* content.javascript.enabled ;; reload`

  - `tsu`: `config-cycle -p -t -u {url} content.javascript.enabled ;; reload`

  - `u`: `undo`

  - `v`: `enter-mode caret`

  - `wB`: `set-cmd-text -s :bookmark-load -w`

  - `wO`: `set-cmd-text :open -w {url:pretty}`

  - `wP`: `open -w -- {primary}`

  - `wb`: `set-cmd-text -s :quickmark-load -w`

  - `wf`: `hint all window`

  - `wh`: `back -w`

  - `wi`: `inspector`

  - `wl`: `forward -w`

  - `wo`: `set-cmd-text -s :open -w`

  - `wp`: `open -w -- {clipboard}`

  - `xO`: `set-cmd-text :open -b -r {url:pretty}`

  - `xo`: `set-cmd-text -s :open -b`

  - `yD`: `yank domain -s`

  - `yM`: `yank markdown -s`

  - `yP`: `yank pretty-url -s`

  - `yT`: `yank title -s`

  - `yY`: `yank -s`

  - `yd`: `yank domain`

  - `ym`: `yank markdown`

  - `yp`: `yank pretty-url`

  - `yt`: `yank title`

  - `yy`: `yank`

  - `{{`: `navigate prev -t`

  - `}}`: `navigate next -t`

- `passthrough`:

  - `<Shift-Escape>`: `leave-mode`

- `prompt`:

  - `<Alt-B>`: `rl-backward-word`

  - `<Alt-Backspace>`: `rl-backward-kill-word`

  - `<Alt-D>`: `rl-kill-word`

  - `<Alt-F>`: `rl-forward-word`

  - `<Alt-Shift-Y>`: `prompt-yank --sel`

  - `<Alt-Y>`: `prompt-yank`

  - `<Ctrl-?>`: `rl-delete-char`

  - `<Ctrl-A>`: `rl-beginning-of-line`

  - `<Ctrl-B>`: `rl-backward-char`

  - `<Ctrl-E>`: `rl-end-of-line`

  - `<Ctrl-F>`: `rl-forward-char`

  - `<Ctrl-H>`: `rl-backward-delete-char`

  - `<Ctrl-K>`: `rl-kill-line`

  - `<Ctrl-P>`: `prompt-open-download --pdfjs`

  - `<Ctrl-U>`: `rl-unix-line-discard`

  - `<Ctrl-W>`: `rl-unix-word-rubout`

  - `<Ctrl-X>`: `prompt-open-download`

  - `<Ctrl-Y>`: `rl-yank`

  - `<Down>`: `prompt-item-focus next`

  - `<Escape>`: `leave-mode`

  - `<Return>`: `prompt-accept`

  - `<Shift-Tab>`: `prompt-item-focus prev`

  - `<Tab>`: `prompt-item-focus next`

  - `<Up>`: `prompt-item-focus prev`

- `register`:

  - `<Escape>`: `leave-mode`

- `yesno`:

  - `<Alt-Shift-Y>`: `prompt-yank --sel`

  - `<Alt-Y>`: `prompt-yank`

  - `<Escape>`: `leave-mode`

  - `<Return>`: `prompt-accept`

  - `n`: `prompt-accept no`

  - `y`: `prompt-accept yes`

### bindings.key_mappings

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. Note that when a key is bound (via `bindings.default` or `bindings.commands`), the mapping is ignored.

Type: Dict

Default:

- `<Ctrl-6>`: `<Ctrl-^>`

- `<Ctrl-Enter>`: `<Ctrl-Return>`

- `<Ctrl-J>`: `<Return>`

- `<Ctrl-M>`: `<Return>`

- `<Ctrl-[>`: `<Escape>`

- `<Enter>`: `<Return>`

- `<Shift-Enter>`: `<Return>`

- `<Shift-Return>`: `<Return>`

### colors.completion.category.bg

Background color of the completion widget category headers.

Type: QssColor

Default: `qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #888888, stop:1 #505050)`

### colors.completion.category.border.bottom

Bottom border color of the completion widget category headers.

Type: QssColor

Default: `black`

### colors.completion.category.border.top

Top border color of the completion widget category headers.

Type: QssColor

Default: `black`

### colors.completion.category.fg

Foreground color of completion widget category headers.

Type: QtColor

Default: `white`

### colors.completion.even.bg

Background color of the completion widget for even rows.

Type: QssColor

Default: `#333333`

### colors.completion.fg

Text color of the completion widget. May be a single color to use for all columns or a list of three colors, one for each column.

Type: List of QtColor, or QtColor

Default:

- `white`

- `white`

- `white`

### colors.completion.item.selected.bg

Background color of the selected completion item.

Type: QssColor

Default: `#e8c000`

### colors.completion.item.selected.border.bottom

Bottom border color of the selected completion item.

Type: QssColor

Default: `#bbbb00`

### colors.completion.item.selected.border.top

Top border color of the completion widget category headers.

Type: QssColor

Default: `#bbbb00`

### colors.completion.item.selected.fg

Foreground color of the selected completion item.

Type: QtColor

Default: `black`

### colors.completion.match.fg

Foreground color of the matched text in the completion.

Type: QtColor

Default: `#ff4444`

### colors.completion.odd.bg

Background color of the completion widget for odd rows.

Type: QssColor

Default: `#444444`

### colors.completion.scrollbar.bg

Color of the scrollbar in the completion view.

Type: QssColor

Default: `#333333`

### colors.completion.scrollbar.fg

Color of the scrollbar handle in the completion view.

Type: QssColor

Default: `white`

### colors.downloads.bar.bg

Background color for the download bar.

Type: QssColor

Default: `black`

### colors.downloads.error.bg

Background color for downloads with errors.

Type: QtColor

Default: `red`

### colors.downloads.error.fg

Foreground color for downloads with errors.

Type: QtColor

Default: `white`

### colors.downloads.start.bg

Color gradient start for download backgrounds.

Type: QtColor

Default: `#0000aa`

### colors.downloads.start.fg

Color gradient start for download text.

Type: QtColor

Default: `white`

### colors.downloads.stop.bg

Color gradient stop for download backgrounds.

Type: QtColor

Default: `#00aa00`

### colors.downloads.stop.fg

Color gradient end for download text.

Type: QtColor

Default: `white`

### colors.downloads.system.bg

Color gradient interpolation system for download backgrounds.

Type: ColorSystem

Valid values:

- `rgb`: Interpolate in the RGB color system.

- `hsv`: Interpolate in the HSV color system.

- `hsl`: Interpolate in the HSL color system.

- `none`: Don’t show a gradient.

Default: `rgb`

### colors.downloads.system.fg

Color gradient interpolation system for download text.

Type: ColorSystem

Valid values:

- `rgb`: Interpolate in the RGB color system.

- `hsv`: Interpolate in the HSV color system.

- `hsl`: Interpolate in the HSL color system.

- `none`: Don’t show a gradient.

Default: `rgb`

### colors.hints.bg

Background color for hints. Note that you can use a `rgba(...)` value for transparency.

Type: QssColor

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))`

### colors.hints.fg

Font color for hints.

Type: QssColor

Default: `black`

### colors.hints.match.fg

Font color for the matched part of hints.

Type: QssColor

Default: `green`

### colors.keyhint.bg

Background color of the keyhint widget.

Type: QssColor

Default: `rgba(0, 0, 0, 80%)`

### colors.keyhint.fg

Text color for the keyhint widget.

Type: QssColor

Default: `#FFFFFF`

### colors.keyhint.suffix.fg

Highlight color for keys to complete the current keychain.

Type: QssColor

Default: `#FFFF00`

### colors.messages.error.bg

Background color of an error message.

Type: QssColor

Default: `red`

### colors.messages.error.border

Border color of an error message.

Type: QssColor

Default: `#bb0000`

### colors.messages.error.fg

Foreground color of an error message.

Type: QssColor

Default: `white`

### colors.messages.info.bg

Background color of an info message.

Type: QssColor

Default: `black`

### colors.messages.info.border

Border color of an info message.

Type: QssColor

Default: `#333333`

### colors.messages.info.fg

Foreground color of an info message.

Type: QssColor

Default: `white`

### colors.messages.warning.bg

Background color of a warning message.

Type: QssColor

Default: `darkorange`

### colors.messages.warning.border

Border color of a warning message.

Type: QssColor

Default: `#d47300`

### colors.messages.warning.fg

Foreground color of a warning message.

Type: QssColor

Default: `white`

### colors.prompts.bg

Background color for prompts.

Type: QssColor

Default: `#444444`

### colors.prompts.border

Border used around UI elements in prompts.

Type: String

Default: `1px solid gray`

### colors.prompts.fg

Foreground color for prompts.

Type: QssColor

Default: `white`

### colors.prompts.selected.bg

Background color for the selected item in filename prompts.

Type: QssColor

Default: `grey`

### colors.statusbar.caret.bg

Background color of the statusbar in caret mode.

Type: QssColor

Default: `purple`

### colors.statusbar.caret.fg

Foreground color of the statusbar in caret mode.

Type: QssColor

Default: `white`

### colors.statusbar.caret.selection.bg

Background color of the statusbar in caret mode with a selection.

Type: QssColor

Default: `#a12dff`

### colors.statusbar.caret.selection.fg

Foreground color of the statusbar in caret mode with a selection.

Type: QssColor

Default: `white`

### colors.statusbar.command.bg

Background color of the statusbar in command mode.

Type: QssColor

Default: `black`

### colors.statusbar.command.fg

Foreground color of the statusbar in command mode.

Type: QssColor

Default: `white`

### colors.statusbar.command.private.bg

Background color of the statusbar in private browsing + command mode.

Type: QssColor

Default: `grey`

### colors.statusbar.command.private.fg

Foreground color of the statusbar in private browsing + command mode.

Type: QssColor

Default: `white`

### colors.statusbar.insert.bg

Background color of the statusbar in insert mode.

Type: QssColor

Default: `darkgreen`

### colors.statusbar.insert.fg

Foreground color of the statusbar in insert mode.

Type: QssColor

Default: `white`

### colors.statusbar.normal.bg

Background color of the statusbar.

Type: QssColor

Default: `black`

### colors.statusbar.normal.fg

Foreground color of the statusbar.

Type: QssColor

Default: `white`

### colors.statusbar.passthrough.bg

Background color of the statusbar in passthrough mode.

Type: QssColor

Default: `darkblue`

### colors.statusbar.passthrough.fg

Foreground color of the statusbar in passthrough mode.

Type: QssColor

Default: `white`

### colors.statusbar.private.bg

Background color of the statusbar in private browsing mode.

Type: QssColor

Default: `#666666`

### colors.statusbar.private.fg

Foreground color of the statusbar in private browsing mode.

Type: QssColor

Default: `white`

### colors.statusbar.progress.bg

Background color of the progress bar.

Type: QssColor

Default: `white`

### colors.statusbar.url.error.fg

Foreground color of the URL in the statusbar on error.

Type: QssColor

Default: `orange`

### colors.statusbar.url.fg

Default foreground color of the URL in the statusbar.

Type: QssColor

Default: `white`

### colors.statusbar.url.hover.fg

Foreground color of the URL in the statusbar for hovered links.

Type: QssColor

Default: `aqua`

### colors.statusbar.url.success.http.fg

Foreground color of the URL in the statusbar on successful load (http).

Type: QssColor

Default: `white`

### colors.statusbar.url.success.https.fg

Foreground color of the URL in the statusbar on successful load (https).

Type: QssColor

Default: `lime`

### colors.statusbar.url.warn.fg

Foreground color of the URL in the statusbar when there’s a warning.

Type: QssColor

Default: `yellow`

### colors.tabs.bar.bg

Background color of the tab bar.

Type: QtColor

Default: `#555555`

### colors.tabs.even.bg

Background color of unselected even tabs.

Type: QtColor

Default: `darkgrey`

### colors.tabs.even.fg

Foreground color of unselected even tabs.

Type: QtColor

Default: `white`

### colors.tabs.indicator.error

Color for the tab indicator on errors.

Type: QtColor

Default: `#ff0000`

### colors.tabs.indicator.start

Color gradient start for the tab indicator.

Type: QtColor

Default: `#0000aa`

### colors.tabs.indicator.stop

Color gradient end for the tab indicator.

Type: QtColor

Default: `#00aa00`

### colors.tabs.indicator.system

Color gradient interpolation system for the tab indicator.

Type: ColorSystem

Valid values:

- `rgb`: Interpolate in the RGB color system.

- `hsv`: Interpolate in the HSV color system.

- `hsl`: Interpolate in the HSL color system.

- `none`: Don’t show a gradient.

Default: `rgb`

### colors.tabs.odd.bg

Background color of unselected odd tabs.

Type: QtColor

Default: `grey`

### colors.tabs.odd.fg

Foreground color of unselected odd tabs.

Type: QtColor

Default: `white`

### colors.tabs.selected.even.bg

Background color of selected even tabs.

Type: QtColor

Default: `black`

### colors.tabs.selected.even.fg

Foreground color of selected even tabs.

Type: QtColor

Default: `white`

### colors.tabs.selected.odd.bg

Background color of selected odd tabs.

Type: QtColor

Default: `black`

### colors.tabs.selected.odd.fg

Foreground color of selected odd tabs.

Type: QtColor

Default: `white`

### colors.webpage.bg

Background color for webpages if unset (or empty to use the theme’s color).

Type: QtColor

Default: `white`

### completion.cmd_history_max_items

Number of commands to save in the command history. 0: no history / -1: unlimited

Type: Int

Default: `100`

### completion.delay

Delay (in milliseconds) before updating completions after typing a character.

Type: Int

Default: `0`

### completion.height

Height (in pixels or as percentage of the window) of the completion.

Type: PercOrInt

Default: `50%`

### completion.min_chars

Minimum amount of characters needed to update completions.

Type: Int

Default: `1`

### completion.open_categories

Which categories to show (in which order) in the :open completion.

Type: FlagList

Valid values:

- `searchengines`

- `quickmarks`

- `bookmarks`

- `history`

Default:

- `searchengines`

- `quickmarks`

- `bookmarks`

- `history`

### completion.quick

Move on to the next part when there’s only one possible completion left.

Type: Bool

Default: `true`

### completion.scrollbar.padding

Padding (in pixels) of the scrollbar handle in the completion window.

Type: Int

Default: `2`

### completion.scrollbar.width

Width (in pixels) of the scrollbar in the completion window.

Type: Int

Default: `12`

### completion.show

When to show the autocompletion window.

Type: String

Valid values:

- `always`: Whenever a completion is available.

- `auto`: Whenever a completion is requested.

- `never`: Never.

Default: `always`

### completion.shrink

Shrink the completion to be smaller than the configured size if there are no scrollbars.

Type: Bool

Default: `false`

### completion.timestamp_format

Format of timestamps (e.g. for the history completion). See https://sqlite.org/lang_datefunc.html for allowed substitutions.

Type: String

Default: `%Y-%m-%d`

### completion.use_best_match

Execute the best-matching command on a partial match.

Type: Bool

Default: `false`

### completion.web_history.exclude

A list of patterns which should not be shown in the history. This only affects the completion. Matching URLs are still saved in the history (and visible on the qute://history page), but hidden in the completion. Changing this setting will cause the completion history to be regenerated on the next start, which will take a short while. This setting requires a restart.

Type: List of UrlPattern

Default: empty

### completion.web_history.max_items

Number of URLs to show in the web history. 0: no history / -1: unlimited

Type: Int

Default: `-1`

### confirm_quit

Require a confirmation before quitting the application.

Type: ConfirmQuit

Valid values:

- `always`: Always show a confirmation.

- `multiple-tabs`: Show a confirmation if multiple tabs are opened.

- `downloads`: Show a confirmation if downloads are running

- `never`: Never show a confirmation.

Default:

- `never`

### content.autoplay

Automatically start playing `<video>` elements. Note: On Qt < 5.11, this option needs a restart and does not support URL patterns.

This setting supports URL patterns.

Type: Bool

Default: `true`

On QtWebEngine, this setting requires Qt 5.10 or newer.

On QtWebKit, this setting is unavailable.

### content.cache.appcache

Enable support for the HTML 5 web application cache feature. 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.

This setting supports URL patterns.

Type: Bool

Default: `true`

This setting is only available with the QtWebKit backend.

### content.cache.maximum_pages

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/

Type: Int

Default: `0`

This setting is only available with the QtWebKit backend.

### content.cache.size

Size (in bytes) of the HTTP network cache. Null to use the default value. With QtWebEngine, the maximum supported value is 2147483647 (~2 GB).

Type: Int

Default: empty

### content.canvas_reading

Allow websites to read canvas elements. Note this is needed for some websites to work properly. This setting requires a restart.

Type: Bool

Default: `true`

This setting is only available with the QtWebEngine backend.

### content.cookies.accept

Which cookies to accept.

Type: String

Valid values:

- `all`: Accept all cookies.

- `no-3rdparty`: Accept cookies from the same origin only. This is known to break some sites, such as GMail.

- `no-unknown-3rdparty`: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty.

- `never`: Don’t accept cookies at all.

Default: `all`

On QtWebEngine, this setting requires Qt 5.11 or newer.

### content.cookies.store

Store cookies. Note this option needs a restart with QtWebEngine on Qt < 5.9.

Type: Bool

Default: `true`

### content.default_encoding

Default encoding to use for websites. The encoding must be a string describing an encoding such as utf-8, iso-8859-1, etc.

Type: String

Default: `iso-8859-1`

### content.desktop_capture

Allow websites to share screen content. On Qt < 5.10, a dialog box is always displayed, even if this is set to "true".

This setting supports URL patterns.

Type: BoolAsk

Valid values:

- `true`

- `false`

- `ask`

Default: `ask`

### content.dns_prefetch

Try to pre-fetch DNS entries to speed up browsing.

This setting supports URL patterns.

Type: Bool

Default: `true`

On QtWebEngine, this setting requires Qt 5.12 or newer.

### content.frame_flattening

Expand each subframe to its contents. This will flatten all the frames to become one scrollable page.

This setting supports URL patterns.

Type: Bool

Default: `false`

This setting is only available with the QtWebKit backend.

### content.geolocation

Allow websites to request geolocations.

This setting supports URL patterns.

Type: BoolAsk

Valid values:

- `true`

- `false`

- `ask`

Default: `ask`

### content.headers.accept_language

Value to send in the `Accept-Language` header. Note that the value read from JavaScript is always the global value.

This setting supports URL patterns.

Type: String

Default: `en-US,en`

### content.headers.custom

Custom headers for qutebrowser HTTP requests.

This setting supports URL patterns.

Type: Dict

Default: empty

### content.headers.do_not_track

Value to send in the `DNT` header. When this is set to true, qutebrowser asks websites to not track your identity. If set to null, the DNT header is not sent at all.

This setting supports URL patterns.

Type: Bool

Default: `true`

### content.headers.referer

When to send the Referer header. The Referer header tells websites from which website you were coming from when visiting them. No restart is needed with QtWebKit. This setting requires a restart.

Type: String

Valid values:

- `always`: Always send the Referer.

- `never`: Never send the Referer. This is not recommended, as some sites may break.

- `same-domain`: Only send the Referer for the same domain. This will still protect your privacy, but shouldn’t break any sites. With QtWebEngine, the referer will still be sent for other domains, but with stripped path information.

Default: `same-domain`

### content.headers.user_agent

User agent to send. Unset to send the default. Note that the value read from JavaScript is always the global value.

This setting supports URL patterns.

Type: String

Default: empty

### content.host_blocking.enabled

Enable host blocking.

This setting supports URL patterns.

Type: Bool

Default: `true`

### content.host_blocking.lists

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).

It’s also possible to add a local file or directory via a `file://` URL. In case of a directory, all files in the directory are read as adblock lists.

The file `~/.config/qutebrowser/blocked-hosts` is always read if it exists.

Type: List of Url

Default:

- `https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts`

### content.host_blocking.whitelist

A list of patterns that should always be loaded, despite being ad-blocked. Note this whitelists blocked hosts, not first-party URLs. As an example, if `example.org` loads an ad from `ads.example.org`, the whitelisted host should be `ads.example.org`. If you want to disable the adblocker on a given page, use the `content.host_blocking.enabled` setting with a URL pattern instead. Local domains are always exempt from hostblocking.

Type: List of UrlPattern

Default:

- `piwik.org`

### content.hyperlink_auditing

Enable hyperlink auditing (`<a ping>`).

This setting supports URL patterns.

Type: Bool

Default: `false`

### content.images

Load images automatically in web pages.

This setting supports URL patterns.

Type: Bool

Default: `true`

### content.javascript.alert

Show javascript alerts.

Type: Bool

Default: `true`

### content.javascript.can_access_clipboard

Allow JavaScript to read from or write to the clipboard. With QtWebEngine, writing the clipboard as response to a user interaction is always allowed.

This setting supports URL patterns.

Type: Bool

Default: `false`

### content.javascript.can_close_tabs

Allow JavaScript to close tabs.

This setting supports URL patterns.

Type: Bool

Default: `false`

This setting is only available with the QtWebKit backend.

### content.javascript.can_open_tabs_automatically

Allow JavaScript to open new tabs without user interaction.

This setting supports URL patterns.

Type: Bool

Default: `false`

### content.javascript.enabled

Enable JavaScript.

This setting supports URL patterns.

Type: Bool

Default: `true`

### content.javascript.log

Log levels to use for JavaScript console logging messages. When a JavaScript message with the level given in the dictionary key is logged, the corresponding dictionary value selects the qutebrowser logger to use. On QtWebKit, the "unknown" setting is always used.

Type: Dict

Default:

- `error`: `debug`

- `info`: `debug`

- `unknown`: `debug`

- `warning`: `debug`

### content.javascript.modal_dialog

Use the standard JavaScript modal dialog for `alert()` and `confirm()`.

Type: Bool

Default: `false`

### content.javascript.prompt

Show javascript prompts.

Type: Bool

Default: `true`

### content.local_content_can_access_file_urls

Allow locally loaded documents to access other local URLs.

This setting supports URL patterns.

Type: Bool

Default: `true`

### content.local_content_can_access_remote_urls

Allow locally loaded documents to access remote URLs.

This setting supports URL patterns.

Type: Bool

Default: `false`

### content.local_storage

Enable support for HTML 5 local storage and Web SQL.

This setting supports URL patterns.

Type: Bool

Default: `true`

### content.media_capture

Allow websites to record audio/video.

This setting supports URL patterns.

Type: BoolAsk

Valid values:

- `true`

- `false`

- `ask`

Default: `ask`

This setting is only available with the QtWebEngine backend.

### content.mouse_lock

Allow websites to lock your mouse pointer.

This setting supports URL patterns.

Type: BoolAsk

Valid values:

- `true`

- `false`

- `ask`

Default: `ask`

On QtWebEngine, this setting requires Qt 5.8 or newer.

On QtWebKit, this setting is unavailable.

### content.mute

Automatically mute tabs. Note that if the `:tab-mute` command is used, the mute status for the affected tab is now controlled manually, and this setting doesn’t have any effect.

This setting supports URL patterns.

Type: Bool

Default: `false`

### content.netrc_file

Netrc-file for HTTP authentication. If unset, `~/.netrc` is used.

Type: File

Default: empty

### content.notifications

Allow websites to show notifications.

This setting supports URL patterns.

Type: BoolAsk

Valid values:

- `true`

- `false`

- `ask`

Default: `ask`

This setting is only available with the QtWebKit backend.

### content.pdfjs

Allow 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.

Type: Bool

Default: `false`

### content.persistent_storage

Allow websites to request persistent storage quota via `navigator.webkitPersistentStorage.requestQuota`.

This setting supports URL patterns.

Type: BoolAsk

Valid values:

- `true`

- `false`

- `ask`

Default: `ask`

On QtWebEngine, this setting requires Qt 5.11 or newer.

On QtWebKit, this setting is unavailable.

### content.plugins

Enable plugins in Web pages.

This setting supports URL patterns.

Type: Bool

Default: `false`

### content.print_element_backgrounds

Draw the background color and images also when the page is printed.

This setting supports URL patterns.

Type: Bool

Default: `true`

On QtWebEngine, this setting requires Qt 5.8 or newer.

### content.private_browsing

Open new windows in private browsing mode which does not record visited pages.

Type: Bool

Default: `false`

### content.proxy

Proxy to use. In addition to the listed values, you can use a `socks://...` or `http://...` URL.

Type: Proxy

Valid values:

- `system`: Use the system wide proxy.

- `none`: Don’t use any proxy

Default: `system`

### content.proxy_dns_requests

Send DNS requests over the configured proxy.

Type: Bool

Default: `true`

This setting is only available with the QtWebKit backend.

### content.register_protocol_handler

Allow websites to register protocol handlers via `navigator.registerProtocolHandler`.

This setting supports URL patterns.

Type: BoolAsk

Valid values:

- `true`

- `false`

- `ask`

Default: `ask`

On QtWebEngine, this setting requires Qt 5.11 or newer.

On QtWebKit, this setting is unavailable.

### content.ssl_strict

Validate SSL handshakes.

This setting supports URL patterns.

Type: BoolAsk

Valid values:

- `true`

- `false`

- `ask`

Default: `ask`

### content.user_stylesheets

List of user stylesheet filenames to use.

Type: List of File, or File

Default: empty

### content.webgl

Enable WebGL.

This setting supports URL patterns.

Type: Bool

Default: `true`

### content.webrtc_ip_handling_policy

Which interfaces to expose via WebRTC. On Qt 5.10, this option doesn’t work because of a Qt bug. This setting requires a restart.

Type: String

Valid values:

- `all-interfaces`: WebRTC has the right to enumerate all interfaces and bind them to discover public interfaces.

- `default-public-and-private-interfaces`: WebRTC should only use the default route used by http. This also exposes the associated default private address. Default route is the route chosen by the OS on a multi-homed endpoint.

- `default-public-interface-only`: WebRTC should only use the default route used by http. This doesn’t expose any local addresses.

- `disable-non-proxied-udp`: WebRTC should only use TCP to contact peers or servers unless the proxy server supports UDP. This doesn’t expose any local addresses either.

Default: `all-interfaces`

On QtWebEngine, this setting requires Qt 5.9.2 or newer.

On QtWebKit, this setting is unavailable.

### content.windowed_fullscreen

Limit fullscreen to the browser window (does not expand to fill the screen).

Type: Bool

Default: `false`

### content.xss_auditing

Monitor load requests for cross-site scripting attempts. Suspicious scripts will be blocked and reported in the inspector’s JavaScript console.

This setting supports URL patterns.

Type: Bool

Default: `true`

### downloads.location.directory

Directory to save downloads to. If unset, a sensible OS-specific default is used.

Type: Directory

Default: empty

### downloads.location.prompt

Prompt the user for the download location. If set to false, `downloads.location.directory` will be used.

Type: Bool

Default: `true`

### downloads.location.remember

Remember the last used download directory.

Type: Bool

Default: `true`

### downloads.location.suggestion

What to display in the download filename input.

Type: String

Valid values:

- `path`: Show only the download path.

- `filename`: Show only download filename.

- `both`: Show download path and filename.

Default: `path`

### downloads.open_dispatcher

Default program used to open downloads. If null, the default internal handler is used. Any `{}` in the string will be expanded to the filename, else the filename will be appended.

Type: String

Default: empty

### downloads.position

Where to show the downloaded files.

Type: VerticalPosition

Valid values:

- `top`

- `bottom`

Default: `top`

### downloads.remove_finished

Duration (in milliseconds) to wait before removing finished downloads. If set to -1, downloads are never removed.

Type: Int

Default: `-1`

### editor.command

Editor (and arguments) to use for the `open-editor` command. The following placeholders are defined: * `{file}`: Filename of the file to be edited. * `{line}`: Line in which the caret is found in the text. * `{column}`: Column in which the caret is found in the text. * `{line0}`: Same as `{line}`, but starting from index 0. * `{column0}`: Same as `{column}`, but starting from index 0.

Type: ShellCommand

Default:

- `gvim`

- `-f`

- `{file}`

- `-c`

- `normal {line}G{column0}l`

### editor.encoding

Encoding to use for the editor.

Type: Encoding

Default: `utf-8`

### fonts.completion.category

Font used in the completion categories.

Type: Font

Default: `bold 10pt monospace`

### fonts.completion.entry

Font used in the completion widget.

Type: Font

Default: `10pt monospace`

### fonts.debug_console

Font used for the debugging console.

Type: QtFont

Default: `10pt monospace`

### fonts.downloads

Font used for the downloadbar.

Type: Font

Default: `10pt monospace`

### fonts.hints

Font used for the hints.

Type: Font

Default: `bold 10pt monospace`

### fonts.keyhint

Font used in the keyhint widget.

Type: Font

Default: `10pt monospace`

### fonts.messages.error

Font used for error messages.

Type: Font

Default: `10pt monospace`

### fonts.messages.info

Font used for info messages.

Type: Font

Default: `10pt monospace`

### fonts.messages.warning

Font used for warning messages.

Type: Font

Default: `10pt monospace`

### fonts.monospace

Default monospace fonts. Whenever "monospace" is used in a font setting, it’s replaced with the fonts listed here.

Type: Font

Default: `"xos4 Terminus", Terminus, Monospace, "DejaVu Sans Mono", Monaco, "Bitstream Vera Sans Mono", "Andale Mono", "Courier New", Courier, "Liberation Mono", monospace, Fixed, Consolas, Terminal`

### fonts.prompts

Font used for prompts.

Type: Font

Default: `10pt sans-serif`

### fonts.statusbar

Font used in the statusbar.

Type: Font

Default: `10pt monospace`

### fonts.tabs

Font used in the tab bar.

Type: QtFont

Default: `10pt monospace`

### fonts.web.family.cursive

Font family for cursive fonts.

Type: FontFamily

Default: empty

### fonts.web.family.fantasy

Font family for fantasy fonts.

Type: FontFamily

Default: empty

### fonts.web.family.fixed

Font family for fixed fonts.

Type: FontFamily

Default: empty

### fonts.web.family.sans_serif

Font family for sans-serif fonts.

Type: FontFamily

Default: empty

### fonts.web.family.serif

Font family for serif fonts.

Type: FontFamily

Default: empty

### fonts.web.family.standard

Font family for standard fonts.

Type: FontFamily

Default: empty

### fonts.web.size.default

Default font size (in pixels) for regular text.

Type: Int

Default: `16`

### fonts.web.size.default_fixed

Default font size (in pixels) for fixed-pitch text.

Type: Int

Default: `13`

### fonts.web.size.minimum

Hard minimum font size (in pixels).

Type: Int

Default: `0`

### fonts.web.size.minimum_logical

Minimum logical font size (in pixels) that is applied when zooming out.

Type: Int

Default: `6`

### hints.auto_follow

When a hint can be automatically followed without pressing Enter.

Type: 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.

Default: `unique-match`

### hints.auto_follow_timeout

Duration (in milliseconds) to ignore normal-mode key bindings after a successful auto-follow.

Type: Int

Default: `0`

### hints.border

CSS border value for hints.

Type: String

Default: `1px solid #E3BE23`

### hints.chars

Characters used for hint strings.

Type: UniqueCharString

Default: `asdfghjkl`

### hints.dictionary

Dictionary file to be used by the word hints.

Type: File

Default: `/usr/share/dict/words`

### hints.find_implementation

Which implementation to use to find elements to hint.

Type: String

Valid values:

- `javascript`: Better but slower

- `python`: Slightly worse but faster

Default: `python`

This setting is only available with the QtWebKit backend.

### hints.hide_unmatched_rapid_hints

Hide unmatched hints in rapid mode.

Type: Bool

Default: `true`

### hints.min_chars

Minimum number of characters used for hint strings.

Type: Int

Default: `1`

### hints.mode

Mode to use for hints.

Type: 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 characters in the `hints.chars` setting.

- `word`: Use hints words based on the html elements and the extra words.

Default: `letter`

### hints.next_regexes

Comma-separated list of regular expressions to use for next links.

Type: List of Regex

Default:

- `\bnext\b`

- `\bmore\b`

- `\bnewer\b`

- `\b[>→≫\b]`

- `\b(>>|»)\b`

- `\bcontinue\b`

### hints.prev_regexes

Comma-separated list of regular expressions to use for prev links.

Type: List of Regex

Default:

- `\bprev(ious)?\b`

- `\bback\b`

- `\bolder\b`

- `\b[<←≪\b]`

- `\b(<<|«)\b`

### hints.scatter

Scatter hint key chains (like Vimium) or not (like dwb). Ignored for number hints.

Type: Bool

Default: `true`

### hints.selectors

CSS selectors used to determine which elements on a page should have hints.

This setting supports URL patterns.

This setting can only be set in config.py.

Type: Dict

Default:

- `all`:

  - `a`

  - `area`

  - `textarea`

  - `select`

  - `input:not([type="hidden")]`

  - `button`

  - `frame`

  - `iframe`

  - `img`

  - `link`

  - `summary`

  - `[onclick]`

  - `[onmousedown]`

  - `[role="link"]`

  - `[role="option"]`

  - `[role="button"]`

  - `[ng-click]`

  - `[ngClick]`

  - `[data-ng-click]`

  - `[x-ng-click]`

  - `[tabindex]`

- `images`:

  - `img`

- `inputs`:

  - `input[type="text"]`

  - `input[type="date"]`

  - `input[type="datetime-local"]`

  - `input[type="email"]`

  - `input[type="month"]`

  - `input[type="number"]`

  - `input[type="password"]`

  - `input[type="search"]`

  - `input[type="tel"]`

  - `input[type="time"]`

  - `input[type="url"]`

  - `input[type="week"]`

  - `input:not([type)]`

  - `textarea`

- `links`:

  - `a[href]`

  - `area[href]`

  - `link[href]`

  - `[role="link"[href]]`

- `media`:

  - `audio`

  - `img`

  - `video`

- `url`:

  - `[src]`

  - `[href]`

### hints.uppercase

Make characters in hint strings uppercase.

Type: Bool

Default: `false`

### history_gap_interval

Maximum time (in minutes) between two history items for them to be considered being from the same browsing session. Items with less time between them are grouped when being displayed in `:history`. Use -1 to disable separation.

Type: Int

Default: `30`

### input.escape_quits_reporter

Allow Escape to quit the crash reporter.

Type: Bool

Default: `true`

### input.forward_unbound_keys

Which unbound keys to forward to the webview in normal mode.

Type: String

Valid values:

- `all`: Forward all unbound keys.

- `auto`: Forward unbound non-alphanumeric keys.

- `none`: Don’t forward any keys.

Default: `auto`

### input.insert_mode.auto_enter

Enter insert mode if an editable element is clicked.

Type: Bool

Default: `true`

### input.insert_mode.auto_leave

Leave insert mode if a non-editable element is clicked.

Type: Bool

Default: `true`

### input.insert_mode.auto_load

Automatically enter insert mode if an editable element is focused after loading the page.

Type: Bool

Default: `false`

### input.insert_mode.leave_on_load

Leave insert mode when starting a new page load. Patterns may be unreliable on this setting, and they may match the url you are navigating to, or the URL you are navigating from.

This setting supports URL patterns.

Type: Bool

Default: `true`

### input.insert_mode.plugins

Switch to insert mode when clicking flash and other plugins.

Type: Bool

Default: `false`

### input.links_included_in_focus_chain

Include hyperlinks in the keyboard focus chain when tabbing.

This setting supports URL patterns.

Type: Bool

Default: `true`

### input.partial_timeout

Timeout (in milliseconds) for partially typed key bindings. If the current input forms only partial matches, the keystring will be cleared after this time.

Type: Int

Default: `5000`

### input.rocker_gestures

Enable Opera-like mouse rocker gestures. This disables the context menu.

Type: Bool

Default: `false`

### input.spatial_navigation

Enable spatial navigation. 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 the 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.

This setting supports URL patterns.

Type: Bool

Default: `false`

### keyhint.blacklist

Keychains that shouldn’t be shown in the keyhint dialog. Globs are supported, so `;*` will blacklist all keychains starting with `;`. Use `*` to disable keyhints.

Type: List of String

Default: empty

### keyhint.delay

Time (in milliseconds) from pressing a key to seeing the keyhint dialog.

Type: Int

Default: `500`

### keyhint.radius

Rounding radius (in pixels) for the edges of the keyhint dialog.

Type: Int

Default: `6`

### messages.timeout

Duration (in milliseconds) to show messages in the statusbar for. Set to 0 to never clear messages.

Type: Int

Default: `2000`

### new_instance_open_target

How to open links in an existing instance if a new one is launched. This happens when e.g. opening a link from a terminal. See `new_instance_open_target_window` to customize in which window the link is opened in.

Type: 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`

### new_instance_open_target_window

Which window to choose when opening links as new tabs. When `new_instance_open_target` is not set to `window`, this is ignored.

Type: 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`

### prompt.filebrowser

Show a filebrowser in upload/download prompts.

Type: Bool

Default: `true`

### prompt.radius

Rounding radius (in pixels) for the edges of prompts.

Type: Int

Default: `8`

### qt.args

Additional arguments to pass to Qt, without leading `--`. With QtWebEngine, some Chromium arguments (see https://peter.sh/experiments/chromium-command-line-switches/ for a list) will work. This setting requires a restart.

Type: List of String

Default: empty

### qt.force_platform

Force a Qt platform to use. This sets the `QT_QPA_PLATFORM` environment variable and is useful to force using the XCB plugin when running QtWebEngine on Wayland. This setting requires a restart.

Type: String

Default: empty

### qt.force_software_rendering

Force software rendering for QtWebEngine. This is needed for QtWebEngine to work with Nouveau drivers and can be useful in other scenarios related to graphic issues. This setting requires a restart.

Type: String

Valid values:

- `software-opengl`: Tell LibGL to use a software implementation of GL (`LIBGL_ALWAYS_SOFTWARE` / `QT_XCB_FORCE_SOFTWARE_OPENGL`)

- `qt-quick`: Tell Qt Quick to use a software renderer instead of OpenGL. (`QT_QUICK_BACKEND=software`)

- `chromium`: Tell Chromium to disable GPU support and use Skia software rendering instead. (`--disable-gpu`)

- `none`: Don’t force software rendering.

Default: `none`

This setting is only available with the QtWebEngine backend.

### qt.highdpi

Turn on Qt HighDPI scaling. This is equivalent to setting QT_AUTO_SCREEN_SCALE_FACTOR=1 in the environment. It’s off by default as it can cause issues with some bitmap fonts. As an alternative to this, it’s possible to set font sizes and the `zoom.default` setting. This setting requires a restart.

Type: Bool

Default: `false`

### qt.low_end_device_mode

When to use Chromium’s low-end device mode. This improves the RAM usage of renderer processes, at the expense of performance. This setting requires a restart.

Type: String

Valid values:

- `always`: Always use low-end device mode.

- `auto`: Decide automatically (uses low-end mode with < 1 GB available RAM).

- `never`: Never use low-end device mode.

Default: `auto`

This setting is only available with the QtWebEngine backend.

### qt.process_model

Which Chromium process model to use. Alternative process models use less resources, but decrease security and robustness. See the following pages for more details:

- https://www.chromium.org/developers/design-documents/process-models

- https://doc.qt.io/qt-5/qtwebengine-features.html#process-models This setting requires a restart.

Type: String

Valid values:

- `process-per-site-instance`: Pages from separate sites are put into separate processes and separate visits to the same site are also isolated.

- `process-per-site`: Pages from separate sites are put into separate processes. Unlike Process per Site Instance, all visits to the same site will share an OS process. The benefit of this model is reduced memory consumption, because more web pages will share processes. The drawbacks include reduced security, robustness, and responsiveness.

- `single-process`: Run all tabs in a single process. This should be used for debugging purposes only, and it disables `:open --private`.

Default: `process-per-site-instance`

This setting is only available with the QtWebEngine backend.

### scrolling.bar

When to show the scrollbar.

Type: String

Valid values:

- `always`: Always show the scrollbar.

- `never`: Never show the scrollbar.

- `when-searching`: Show the scrollbar when searching for text in the webpage. With the QtWebKit backend, this is equal to `never`.

Default: `when-searching`

### scrolling.smooth

Enable smooth scrolling for web pages. Note smooth scrolling does not work with the `:scroll-px` command.

This setting supports URL patterns.

Type: Bool

Default: `false`

### search.ignore_case

When to find text on a page case-insensitively.

Type: IgnoreCase

Valid values:

- `always`: Search case-insensitively.

- `never`: Search case-sensitively.

- `smart`: Search case-sensitively if there are capital characters.

Default: `smart`

### search.incremental

Find text on a page incrementally, renewing the search for each typed character.

Type: Bool

Default: `true`

### session.default_name

Name of the session to save by default. If this is set to null, the session which was last loaded is saved.

Type: SessionName

Default: empty

### session.lazy_restore

Load a restored tab as soon as it takes focus.

Type: Bool

Default: `false`

### spellcheck.languages

Languages to use for spell checking. You can check for available languages and install dictionaries using scripts/dictcli.py. Run the script with -h/--help for instructions.

Type: List of String

Valid values:

- `af-ZA`: Afrikaans (South Africa)

- `bg-BG`: Bulgarian (Bulgaria)

- `ca-ES`: Catalan (Spain)

- `cs-CZ`: Czech (Czech Republic)

- `da-DK`: Danish (Denmark)

- `de-DE`: German (Germany)

- `el-GR`: Greek (Greece)

- `en-AU`: English (Australia)

- `en-CA`: English (Canada)

- `en-GB`: English (United Kingdom)

- `en-US`: English (United States)

- `es-ES`: Spanish (Spain)

- `et-EE`: Estonian (Estonia)

- `fa-IR`: Farsi (Iran)

- `fo-FO`: Faroese (Faroe Islands)

- `fr-FR`: French (France)

- `he-IL`: Hebrew (Israel)

- `hi-IN`: Hindi (India)

- `hr-HR`: Croatian (Croatia)

- `hu-HU`: Hungarian (Hungary)

- `id-ID`: Indonesian (Indonesia)

- `it-IT`: Italian (Italy)

- `ko`: Korean

- `lt-LT`: Lithuanian (Lithuania)

- `lv-LV`: Latvian (Latvia)

- `nb-NO`: Norwegian (Norway)

- `nl-NL`: Dutch (Netherlands)

- `pl-PL`: Polish (Poland)

- `pt-BR`: Portuguese (Brazil)

- `pt-PT`: Portuguese (Portugal)

- `ro-RO`: Romanian (Romania)

- `ru-RU`: Russian (Russia)

- `sh`: Serbo-Croatian

- `sk-SK`: Slovak (Slovakia)

- `sl-SI`: Slovenian (Slovenia)

- `sq`: Albanian

- `sr`: Serbian

- `sv-SE`: Swedish (Sweden)

- `ta-IN`: Tamil (India)

- `tg-TG`: Tajik (Tajikistan)

- `tr-TR`: Turkish (Turkey)

- `uk-UA`: Ukrainian (Ukraine)

- `vi-VN`: Vietnamese (Viet Nam)

Default: empty

On QtWebEngine, this setting requires Qt 5.8 or newer.

On QtWebKit, this setting is unavailable.

### statusbar.hide

Hide the statusbar unless a message is shown.

Type: Bool

Default: `false`

### statusbar.padding

Padding (in pixels) for the statusbar.

Type: Padding

Default:

- `bottom`: `1`

- `left`: `0`

- `right`: `0`

- `top`: `1`

### statusbar.position

Position of the status bar.

Type: VerticalPosition

Valid values:

- `top`

- `bottom`

Default: `bottom`

### statusbar.widgets

List of widgets displayed in the statusbar.

Type: List of String

Valid values:

- `url`: Current page URL.

- `scroll`: Percentage of the current page position like `10%`.

- `scroll_raw`: Raw percentage of the current page position like `10`.

- `history`: Display an arrow when possible to go back/forward in history.

- `tabs`: Current active tab, e.g. `2`.

- `keypress`: Display pressed keys when composing a vi command.

- `progress`: Progress bar for the current page loading.

Default:

- `keypress`

- `url`

- `scroll`

- `history`

- `tabs`

- `progress`

### tabs.background

Open new tabs (middleclick/ctrl+click) in the background.

Type: Bool

Default: `false`

### tabs.close_mouse_button

Mouse button with which to close tabs.

Type: String

Valid values:

- `right`: Close tabs on right-click.

- `middle`: Close tabs on middle-click.

- `none`: Don’t close tabs using the mouse.

Default: `middle`

### tabs.close_mouse_button_on_bar

How to behave when the close mouse button is pressed on the tab bar.

Type: String

Valid values:

- `new-tab`: Open a new tab.

- `close-current`: Close the current tab.

- `close-last`: Close the last tab.

- `ignore`: Don’t do anything.

Default: `new-tab`

### tabs.favicons.scale

Scaling factor for favicons in the tab bar. The tab size is unchanged, so big favicons also require extra `tabs.padding`.

Type: Float

Default: `1.0`

### tabs.favicons.show

When to show favicons in the tab bar.

Type: String

Valid values:

- `always`: Always show favicons.

- `never`: Always hide favicons.

- `pinned`: Show favicons only on pinned tabs.

Default: `always`

### tabs.indicator.padding

Padding (in pixels) for tab indicators.

Type: Padding

Default:

- `bottom`: `2`

- `left`: `0`

- `right`: `4`

- `top`: `2`

### tabs.indicator.width

Width (in pixels) of the progress indicator (0 to disable).

Type: Int

Default: `3`

### tabs.last_close

How to behave when the last tab is closed.

Type: 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.

Default: `ignore`

### tabs.max_width

Maximum width (in pixels) of tabs (-1 for no maximum). This setting only applies when tabs are horizontal. This setting does not apply to pinned tabs, unless `tabs.pinned.shrink` is False. This setting may not apply properly if max_width is smaller than the minimum size of tab contents, or smaller than tabs.min_width.

Type: Int

Default: `-1`

### tabs.min_width

Minimum width (in pixels) of tabs (-1 for the default minimum size behavior). This setting only applies when tabs are horizontal. This setting does not apply to pinned tabs, unless `tabs.pinned.shrink` is False.

Type: Int

Default: `-1`

### tabs.mode_on_change

When switching tabs, what input mode is applied.

Type: String

Valid values:

- `persist`: Retain the current mode.

- `restore`: Restore previously saved mode.

- `normal`: Always revert to normal mode.

Default: `normal`

### tabs.mousewheel_switching

Switch between tabs using the mouse wheel.

Type: Bool

Default: `true`

### tabs.new_position.related

Position of new tabs opened from another tab. See `tabs.new_position.stacking` for controlling stacking behavior.

Type: NewTabPosition

Valid values:

- `prev`: Before the current tab.

- `next`: After the current tab.

- `first`: At the beginning.

- `last`: At the end.

Default: `next`

### tabs.new_position.stacking

Stack related tabs on top of each other when opened consecutively. Only applies for `next` and `prev` values of `tabs.new_position.related` and `tabs.new_position.unrelated`.

Type: Bool

Default: `true`

### tabs.new_position.unrelated

Position of new tabs which are not opened from another tab. See `tabs.new_position.stacking` for controlling stacking behavior.

Type: NewTabPosition

Valid values:

- `prev`: Before the current tab.

- `next`: After the current tab.

- `first`: At the beginning.

- `last`: At the end.

Default: `last`

### tabs.padding

Padding (in pixels) around text for tabs.

Type: Padding

Default:

- `bottom`: `0`

- `left`: `5`

- `right`: `5`

- `top`: `0`

### tabs.pinned.frozen

Force pinned tabs to stay at fixed URL.

Type: Bool

Default: `true`

### tabs.pinned.shrink

Shrink pinned tabs down to their contents.

Type: Bool

Default: `true`

### tabs.position

Position of the tab bar.

Type: Position

Valid values:

- `top`

- `bottom`

- `left`

- `right`

Default: `top`

### tabs.select_on_remove

Which tab to select when the focused tab is removed.

Type: SelectOnRemove

Valid values:

- `prev`: Select the tab which came before the closed one (left in horizontal, above in vertical).

- `next`: Select the tab which came after the closed one (right in horizontal, below in vertical).

- `last-used`: Select the previously selected tab.

Default: `next`

### tabs.show

When to show the tab bar.

Type: 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.

Default: `always`

### tabs.show_switching_delay

Duration (in milliseconds) to show the tab bar before hiding it when tabs.show is set to switching.

Type: Int

Default: `800`

### tabs.tabs_are_windows

Open a new window for every tab.

Type: Bool

Default: `false`

### tabs.title.alignment

Alignment of the text inside of tabs.

Type: TextAlignment

Valid values:

- `left`

- `right`

- `center`

Default: `left`

### tabs.title.format

Format to use for the tab title. The following placeholders are defined:

- `{perc}`: Percentage as a string like `[10%]`.

- `{perc_raw}`: Raw percentage, e.g. `10`.

- `{title}`: Title of the current web page.

- `{title_sep}`: The string ` - ` if a title is set, empty otherwise.

- `{index}`: Index of this tab.

- `{id}`: Internal tab ID of this tab.

- `{scroll_pos}`: Page scroll position.

- `{host}`: Host of the current web page.

- ‘{backend}`: Either 'webkit’ or 'webengine'

- `{private}`: Indicates when private mode is enabled.

- `{current_url}`: URL of the current web page.

- `{protocol}`: Protocol (http/https/…) of the current web page.

- `{audio}`: Indicator for audio/mute status.

Type: FormatString

Default: `{audio}{index}: {title}`

### tabs.title.format_pinned

Format to use for the tab title for pinned tabs. The same placeholders like for `tabs.title.format` are defined.

Type: FormatString

Default: `{index}`

### tabs.width

Width (in pixels or as percentage of the window) of the tab bar if it’s vertical.

Type: PercOrInt

Default: `20%`

### tabs.wrap

Wrap when changing tabs.

Type: Bool

Default: `true`

### url.auto_search

What search to start when something else than a URL is entered.

Type: String

Valid values:

- `naive`: Use simple/naive check.

- `dns`: Use DNS requests (might be slow!).

- `never`: Never search automatically.

Default: `naive`

### url.default_page

Page to open if :open -t/-b/-w is used without URL. Use `about:blank` for a blank page.

Type: FuzzyUrl

Default: `https://start.duckduckgo.com/`

### url.incdec_segments

URL segments where `:navigate increment/decrement` will search for a number.

Type: FlagList

Valid values:

- `host`

- `port`

- `path`

- `query`

- `anchor`

Default:

- `path`

- `query`

### url.open_base_url

Open base URL of the searchengine if a searchengine shortcut is invoked without parameters.

Type: Bool

Default: `false`

### url.searchengines

Search engines which can be used via the address bar. Maps a search engine name (such as `DEFAULT`, or `ddg`) to a URL with a `{}` placeholder. The placeholder will be replaced by the search term, use `{{` and `}}` for literal `{`/`}` signs. The search engine named `DEFAULT` is used when `url.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`.

Type: Dict

Default:

- `DEFAULT`: `https://duckduckgo.com/?q={}`

### url.start_pages

Page(s) to open at the start.

Type: List of FuzzyUrl, or FuzzyUrl

Default: `https://start.duckduckgo.com`

### url.yank_ignored_parameters

URL parameters to strip with `:yank url`.

Type: List of String

Default:

- `ref`

- `utm_source`

- `utm_medium`

- `utm_campaign`

- `utm_term`

- `utm_content`

### window.hide_decoration

Hide the window decoration.

This setting requires a restart on Wayland.

Type: Bool

Default: `false`

### window.title_format

Format to use for the window title. The same placeholders like for `tabs.title.format` are defined.

Type: FormatString

Default: `{perc}{title}{title_sep}qutebrowser`

### zoom.default

Default zoom level.

Type: Perc

Default: `100%`

### zoom.levels

Available zoom levels.

Type: List of Perc

Default:

- `25%`

- `33%`

- `50%`

- `67%`

- `75%`

- `90%`

- `100%`

- `110%`

- `125%`

- `150%`

- `175%`

- `200%`

- `250%`

- `300%`

- `400%`

- `500%`

### zoom.mouse_divider

Number of zoom increments to divide the mouse wheel movements to.

Type: Int

Default: `512`

### zoom.text_only

Apply the zoom factor on a frame only to the text or to all content.

This setting supports URL patterns.

Type: Bool

Default: `false`

This setting is only available with the QtWebKit backend.

## Setting types

Type | Description
--- | ---
Bool | A boolean setting, either `true` or `false`. When setting from a string, `1`, `yes`, `on` and `true` count as true, while `0`, `no`, `off` and `false` count as false (case-insensitive).
BoolAsk | Like `Bool`, but `ask` is allowed as additional value.
ColorSystem | The color system to use for color interpolation.
Command | A qutebrowser command with arguments.
ConfirmQuit | Whether to display a confirmation when the window is closed.
Dict | A dictionary of values. When setting from a string, pass a json-like dict, e.g. `{"key", "value"}`.
Directory | A directory on the local filesystem.
Encoding | Setting for a python encoding.
File | A file on the local filesystem.
FlagList | A list of flags. Lists with duplicate flags are invalid. Each item is checked against the valid values of the setting.
Float | Base class for a float setting.
Font | A font family, with optional style/weight/size. * Style: `normal`/`italic`/`oblique` * Weight: `normal`, `bold`, `100`..`900` * Size: number `px`/`pt`
FontFamily | A Qt font family.
FormatString | A string with placeholders.
FuzzyUrl | A URL which gets interpreted as search if needed.
IgnoreCase | Whether to search case insensitively.
Int | Base class for an integer setting.
Key | A name of a key.
List | A list of values. When setting from a string, pass a json-like list, e.g. `["one", "two"]`.
ListOrValue | A list of values, or a single value.
NewTabPosition | How new tabs are positioned.
Padding | Setting for paddings around elements.
Perc | A percentage.
PercOrInt | Percentage or integer.
Position | The position of the tab bar.
Proxy | A proxy URL, or `system`/`none`.
QssColor | A color value supporting gradients. A value can be in one of the following formats: * `#RGB`/`#RRGGBB`/`#RRRGGGBBB`/`#RRRRGGGGBBBB` * An SVG color name as specified in the W3C specification. * transparent (no color) * `rgb(r, g, b)` / `rgba(r, g, b, a)` (values 0-255 or percentages) * `hsv(h, s, v)` / `hsva(h, s, v, a)` (values 0-255, hue 0-359) * A gradient as explained in the Qt documentation under “Gradient”
QtColor | A color value. A value can be in one of the following formats: * `#RGB`/`#RRGGBB`/`#RRRGGGBBB`/`#RRRRGGGGBBBB` * An SVG color name as specified in the W3C specification. * transparent (no color) * `rgb(r, g, b)` / `rgba(r, g, b, a)` (values 0-255 or percentages) * `hsv(h, s, v)` / `hsva(h, s, v, a)` (values 0-255, hue 0-359)
QtFont | A font family, with optional style/weight/size. * Style: `normal`/`italic`/`oblique` * Weight: `normal`, `bold`, `100`..`900` * Size: number `px`/`pt`
Regex | A regular expression. When setting from `config.py`, both a string or a `re.compile(...)` object are valid.
SearchEngineUrl | A search engine URL.
SelectOnRemove | Which tab to select when the focused tab is removed.
SessionName | The name of a session.
ShellCommand | A shell command as a list. See the documentation for `List`.
String | A string value. See the setting’s valid values for more information on allowed values.
TextAlignment | Alignment of text.
UniqueCharString | A string which may not contain duplicate chars.
Url | A URL as a string.
UrlPattern | A match pattern for a URL. See https://developer.chrome.com/apps/match_patterns for the allowed syntax.
VerticalPosition | The position of the download bar.