qutebrowser A keyboard-driven browser.

qutebrowser's primary maintainer, The-Compiler, is currently working part-time on qutebrowser, funded by donations.

To sustain this for a long time, your help is needed! See the GitHub Sponsors page or alternative donation methods for more information. Depending on your sign-up date and how long you keep a certain level, you can get qutebrowser t-shirts, stickers and more!

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

Map keys to other keys, so that they are equivalent in all modes.

changelog_after_upgrade

When to show a changelog after qutebrowser was upgraded.

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 selected completion item.

colors.completion.item.selected.fg

Foreground color of the selected completion item.

colors.completion.item.selected.match.fg

Foreground color of the matched text in 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.contextmenu.disabled.bg

Background color of disabled items in the context menu.

colors.contextmenu.disabled.fg

Foreground color of disabled items in the context menu.

colors.contextmenu.menu.bg

Background color of the context menu.

colors.contextmenu.menu.fg

Foreground color of the context menu.

colors.contextmenu.selected.bg

Background color of the context menu’s selected item.

colors.contextmenu.selected.fg

Foreground color of the context menu’s selected item.

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.prompts.selected.fg

Foreground 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.pinned.even.bg

Background color of pinned unselected even tabs.

colors.tabs.pinned.even.fg

Foreground color of pinned unselected even tabs.

colors.tabs.pinned.odd.bg

Background color of pinned unselected odd tabs.

colors.tabs.pinned.odd.fg

Foreground color of pinned unselected odd tabs.

colors.tabs.pinned.selected.even.bg

Background color of pinned selected even tabs.

colors.tabs.pinned.selected.even.fg

Foreground color of pinned selected even tabs.

colors.tabs.pinned.selected.odd.bg

Background color of pinned selected odd tabs.

colors.tabs.pinned.selected.odd.fg

Foreground color of pinned selected 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.tooltip.bg

Background color of tooltips.

colors.tooltip.fg

Foreground color of tooltips.

colors.webpage.bg

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

colors.webpage.darkmode.algorithm

Which algorithm to use for modifying how colors are rendered with dark mode.

colors.webpage.darkmode.contrast

Contrast for dark mode.

colors.webpage.darkmode.enabled

Render all web contents using a dark theme.

colors.webpage.darkmode.policy.images

Which images to apply dark mode to.

colors.webpage.darkmode.policy.page

Which pages to apply dark mode to.

colors.webpage.darkmode.threshold.background

Threshold for inverting background elements with dark mode.

colors.webpage.darkmode.threshold.foreground

Threshold for inverting text with dark mode.

colors.webpage.preferred_color_scheme

Value to use for prefers-color-scheme: for websites.

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

Default filesystem autocomplete suggestions for :open.

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.blocking.adblock.lists

List of URLs to ABP-style adblocking rulesets.

content.blocking.enabled

Enable the ad/host blocker

content.blocking.hosts.block_subdomains

Block subdomains of blocked hosts.

content.blocking.hosts.lists

List of URLs to host blocklists for the host blocker.

content.blocking.method

Which method of blocking ads should be used.

content.blocking.whitelist

A list of patterns that should always be loaded, despite being blocked by the ad-/host-blocker.

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.fullscreen.overlay_timeout

Set fullscreen notification overlay timeout in milliseconds.

content.fullscreen.window

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

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.

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_close_tabs

Allow JavaScript to close tabs.

content.javascript.can_open_tabs_automatically

Allow JavaScript to open new tabs without user interaction.

content.javascript.clipboard

Allow JavaScript to read from or write to the clipboard.

content.javascript.enabled

Enable JavaScript.

content.javascript.legacy_touch_events

Enables the legacy touch event feature.

content.javascript.log

Log levels to use for JavaScript console logging messages.

content.javascript.log_message.excludes

Javascript messages to not show in the UI, despite a corresponding content.javascript.log_message.levels setting.

content.javascript.log_message.levels

Javascript message sources/levels to show in the qutebrowser UI.

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

Allow websites to record audio.

content.media.audio_video_capture

Allow websites to record audio and video.

content.media.video_capture

Allow websites to record 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.enabled

Allow websites to show notifications.

content.notifications.presenter

What notification presenter to use for web notifications.

content.notifications.show_origin

Whether to show the origin URL for notifications.

content.pdfjs

Display PDF files via PDF.js in the browser without showing a download prompt.

content.persistent_storage

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

content.plugins

Enable plugins in Web pages.

content.prefers_reduced_motion

Request websites to minimize non-essentials animations and motion.

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.site_specific_quirks.enabled

Enable quirks (such as faked user agent headers) needed to get specific sites to work properly.

content.site_specific_quirks.skip

Disable a list of named quirks.

content.tls.certificate_errors

How to proceed on TLS certificate errors.

content.unknown_url_scheme_policy

How navigation requests to URLs with unknown schemes are handled.

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

Automatically abort insecure (HTTP) downloads originating from secure (HTTPS) pages.

downloads.remove_finished

Duration (in milliseconds) to wait before removing finished downloads.

editor.command

Editor (and arguments) to use for the edit-* commands.

editor.encoding

Encoding to use for the editor.

editor.remove_file

Delete the temporary file upon closing the editor.

fileselect.folder.command

Command (and arguments) to use for selecting a single folder in forms. The command should write the selected folder path to the specified file or stdout.

fileselect.handler

Handler for selecting file(s) in forms. If external, then the commands specified by fileselect.single_file.command, fileselect.multiple_files.command and fileselect.folder.command are used to select one file, multiple files, and folders, respectively.

fileselect.multiple_files.command

Command (and arguments) to use for selecting multiple files in forms. The command should write the selected file paths to the specified file or to stdout, separated by newlines.

fileselect.single_file.command

Command (and arguments) to use for selecting a single file in forms. The command should write the selected file path to the specified file or stdout.

fonts.completion.category

Font used in the completion categories.

fonts.completion.entry

Font used in the completion widget.

fonts.contextmenu

Font used for the context menu.

fonts.debug_console

Font used for the debugging console.

fonts.default_family

Default font families to use.

fonts.default_size

Default font size to use.

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

Font used for prompts.

fonts.statusbar

Font used in the statusbar.

fonts.tabs.selected

Font used for selected tabs.

fonts.tabs.unselected

Font used for unselected tabs.

fonts.tooltip

Font used for tooltips.

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

Leave hint mode when starting a new page load.

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

Padding (in pixels) for hints.

hints.prev_regexes

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

hints.radius

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

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

Interpret number prefixes as counts for bindings.

input.media_keys

Whether the underlying Chromium should handle media keys.

input.mode_override

Mode to change to when focusing on a tab/URL changes.

input.mouse.back_forward_buttons

Enable back and forward buttons on the mouse.

input.mouse.rocker_gestures

Enable Opera-like mouse rocker gestures.

input.partial_timeout

Timeout (in milliseconds) for partially typed key bindings.

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.

logging.level.console

Level for console (stdout/stderr) logs. Ignored if the --loglevel or --debug CLI flags are used.

logging.level.ram

Level for in-memory logs.

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 download prompts.

prompt.radius

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

qt.args

Additional arguments to pass to Qt, without leading --.

qt.chromium.experimental_web_platform_features

Enables Web Platform features that are in development.

qt.chromium.low_end_device_mode

When to use Chromium’s low-end device mode.

qt.chromium.process_model

Which Chromium process model to use.

qt.chromium.sandboxing

What sandboxing mechanisms in Chromium to use.

qt.environ

Additional environment variables to set.

qt.force_platform

Force a Qt platform to use.

qt.force_platformtheme

Force a Qt platformtheme to use.

qt.force_software_rendering

Force software rendering for QtWebEngine.

qt.highdpi

Turn on Qt HighDPI scaling.

qt.workarounds.disable_accelerated_2d_canvas

Disable accelerated 2d canvas to avoid graphical glitches.

qt.workarounds.locale

Work around locale parsing issues in QtWebEngine 5.15.3.

qt.workarounds.remove_service_workers

Delete the QtWebEngine Service Worker directory on every start.

scrolling.bar

When/how 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.

search.wrap

Wrap around at the top and bottom of the page when advancing through text matches using :search-next and :search-prev.

search.wrap_messages

Display messages when advancing through text matches at the top and bottom of the page, e.g. Search hit TOP.

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

Padding (in pixels) for the statusbar.

statusbar.position

Position of the status bar.

statusbar.show

When to show the statusbar.

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

Maximum stack size to remember for tab switches (-1 for no maximum).

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

Position of ellipsis in truncated title 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.tooltips

Show tooltips on tabs.

tabs.undo_stack_size

Number of closed tabs (per window) and closed windows to remember for :undo (-1 for no maximum).

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

window.transparent

Set the main window background to transparent.

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. Without this option set, :wq (:quit --save) needs to be used to save open tabs (and restore them), while quitting qutebrowser in any other way will not save/restore the session. By default, this will save to the session which was last loaded. This behavior can be customized via the session.default_name setting.

Type: Bool

Default: false

backend

Backend to use to display websites. qutebrowser supports two different web rendering engines / backends, QtWebEngine and QtWebKit (not recommended). QtWebEngine is Qt’s official successor to QtWebKit, and both the default/recommended backend. It’s based on a stripped-down Chromium and regularly updated with security fixes and new features by the Qt project: https://wiki.qt.io/QtWebEngine QtWebKit was qutebrowser’s original backend when the project was started. However, support for QtWebKit was discontinued by the Qt project with Qt 5.6 in 2016. The development of QtWebKit was picked up in an official fork: https://github.com/qtwebkit/qtwebkit - however, the project seems to have stalled again. The latest release (5.212.0 Alpha 4) from March 2020 is based on a WebKit version from 2016, with many known security vulnerabilities. Additionally, there is no process isolation and sandboxing. Due to all those issues, while support for QtWebKit is still available in qutebrowser for now, using it is strongly discouraged.

This setting requires a restart.

Type: String

Valid values:

  • webengine: Use QtWebEngine (based on Chromium - recommended).

  • webkit: Use QtWebKit (based on WebKit, similar to Safari - many known security issues!).

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 <Shift+Escape> to leave the mode. 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>: selection-drop

    • <Escape>: mode-leave

    • <Return>: yank selection

    • <Space>: selection-toggle

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

    • H: scroll left

    • J: scroll down

    • K: scroll up

    • L: scroll right

    • V: selection-toggle --line

    • Y: yank selection -s

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

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

    • b: move-to-prev-word

    • c: mode-enter 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

    • o: selection-reverse

    • v: selection-toggle

    • 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-Shift-W>: rl-filename-rubout

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

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

    • <Ctrl-W>: rl-rubout " "

    • <Ctrl-Y>: rl-yank

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

    • <Escape>: mode-leave

    • <PgDown>: completion-item-focus next-page

    • <PgUp>: completion-item-focus prev-page

    • <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>: mode-leave

    • <Return>: hint-follow

  • insert:

    • <Ctrl-E>: edit-text

    • <Escape>: mode-leave

    • <Shift-Escape>: fake-key <Escape>

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

  • normal:

    • ': mode-enter jump_mark

    • +: zoom-in

    • -: zoom-out

    • .: cmd-repeat-last

    • /: cmd-set-text /

    • :: cmd-set-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>: selection-follow -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>: mode-enter 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>: selection-follow

    • <back>: back

    • <forward>: forward

    • =: zoom

    • ?: cmd-set-text ?

    • @: macro-run

    • B: cmd-set-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: cmd-set-text -s :open -t

    • PP: open -t -- {primary}

    • Pp: open -t -- {clipboard}

    • R: reload -f

    • Sb: bookmark-list --jump

    • Sh: history

    • Sq: bookmark-list

    • Ss: set

    • T: cmd-set-text -sr :tab-focus

    • U: undo -w

    • V: mode-enter caret ;; selection-toggle --line

    • ZQ: quit

    • ZZ: quit --save

    • [[: navigate prev

    • ]]: navigate next

    • `: mode-enter set_mark

    • ad: download-cancel

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

    • cd: download-clear

    • co: tab-only

    • d: tab-close

    • f: hint

    • g$: tab-focus -1

    • g0: tab-focus 1

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

    • gC: tab-clone

    • gD: tab-give

    • gJ: tab-move +

    • gK: tab-move -

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

    • gU: navigate up -t

    • g^: tab-focus 1

    • ga: open -t

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

    • gd: download

    • gf: view-source

    • gg: scroll-to-perc 0

    • gi: hint inputs --first

    • gm: tab-move

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

    • gt: cmd-set-text -s :tab-select

    • gu: navigate up

    • h: scroll left

    • i: mode-enter insert

    • j: scroll down

    • k: scroll up

    • l: scroll right

    • m: quickmark-save

    • n: search-next

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

    • pP: open -- {primary}

    • pp: open -- {clipboard}

    • q: macro-record

    • r: reload

    • sf: save

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

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

    • ss: cmd-set-text -s :set

    • tCH: config-cycle -p -u *://*.{url:host}/* content.cookies.accept all no-3rdparty never ;; reload

    • tCh: config-cycle -p -u *://{url:host}/* content.cookies.accept all no-3rdparty never ;; reload

    • tCu: config-cycle -p -u {url} content.cookies.accept all no-3rdparty never ;; reload

    • 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

    • tcH: config-cycle -p -t -u *://*.{url:host}/* content.cookies.accept all no-3rdparty never ;; reload

    • tch: config-cycle -p -t -u *://{url:host}/* content.cookies.accept all no-3rdparty never ;; reload

    • tcu: config-cycle -p -t -u {url} content.cookies.accept all no-3rdparty never ;; 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: mode-enter caret

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

    • wIf: devtools-focus

    • wIh: devtools left

    • wIj: devtools bottom

    • wIk: devtools top

    • wIl: devtools right

    • wIw: devtools window

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

    • wP: open -w -- {primary}

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

    • wf: hint all window

    • wh: back -w

    • wi: devtools

    • wl: forward -w

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

    • wp: open -w -- {clipboard}

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

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

    • yD: yank domain -s

    • yM: yank inline [{title}]({url}) -s

    • yP: yank pretty-url -s

    • yT: yank title -s

    • yY: yank -s

    • yd: yank domain

    • ym: yank inline [{title}]({url})

    • yp: yank pretty-url

    • yt: yank title

    • yy: yank

    • {{: navigate prev -t

    • }}: navigate next -t

  • passthrough:

    • <Shift-Escape>: mode-leave

  • prompt:

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

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

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

    • <Alt-E>: prompt-fileselect-external

    • <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-Shift-W>: rl-filename-rubout

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

    • <Ctrl-W>: rl-rubout " "

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

    • <Ctrl-Y>: rl-yank

    • <Down>: prompt-item-focus next

    • <Escape>: mode-leave

    • <Return>: prompt-accept

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

    • <Tab>: prompt-item-focus next

    • <Up>: prompt-item-focus prev

  • register:

    • <Escape>: mode-leave

  • yesno:

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

    • <Alt-Y>: prompt-yank

    • <Escape>: mode-leave

    • <Return>: prompt-accept

    • N: prompt-accept --save no

    • Y: prompt-accept --save yes

    • n: prompt-accept no

    • y: prompt-accept yes

bindings.key_mappings

Map keys to other keys, so that they are equivalent in all modes. 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: This should only be used if two keys should always be equivalent, i.e. for things like <Enter> (keypad) and <Return> (non-keypad). For normal command bindings, qutebrowser works differently to vim: You always bind keys to commands, usually via :bind or config.bind(). Instead of using this setting, consider finding the command a key is bound to (e.g. via :bind gg) and then binding the same command to the desired key. 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-I>: <Tab>

  • <Ctrl-J>: <Return>

  • <Ctrl-M>: <Return>

  • <Ctrl-[>: <Escape>

  • <Enter>: <Return>

  • <Shift-Enter>: <Return>

  • <Shift-Return>: <Return>

changelog_after_upgrade

When to show a changelog after qutebrowser was upgraded.

Type: String

Valid values:

  • major: Show changelog for major upgrades (e.g. v2.0.0 → v3.0.0).

  • minor: Show changelog for major and minor upgrades (e.g. v2.0.0 → v2.1.0).

  • patch: Show changelog for major, minor and patch upgrades (e.g. v2.0.0 → v2.0.1).

  • never: Never show changelog after upgrades.

Default: minor

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.

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 selected completion item.

Type: QssColor

Default: #bbbb00

colors.completion.item.selected.fg

Foreground color of the selected completion item.

Type: QtColor

Default: black

colors.completion.item.selected.match.fg

Foreground color of the matched text in the selected completion item.

Type: QtColor

Default: #ff4444

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.contextmenu.disabled.bg

Background color of disabled items in the context menu. If set to null, the Qt default is used.

Type: QssColor

Default: empty

colors.contextmenu.disabled.fg

Foreground color of disabled items in the context menu. If set to null, the Qt default is used.

Type: QssColor

Default: empty

colors.contextmenu.menu.bg

Background color of the context menu. If set to null, the Qt default is used.

Type: QssColor

Default: empty

colors.contextmenu.menu.fg

Foreground color of the context menu. If set to null, the Qt default is used.

Type: QssColor

Default: empty

colors.contextmenu.selected.bg

Background color of the context menu’s selected item. If set to null, the Qt default is used.

Type: QssColor

Default: empty

colors.contextmenu.selected.fg

Foreground color of the context menu’s selected item. If set to null, the Qt default is used.

Type: QssColor

Default: empty

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.

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.

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: QtColor

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: black

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.prompts.selected.fg

Foreground color for the selected item in filename prompts.

Type: QssColor

Default: white

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: darkslategray

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: QssColor

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.

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.pinned.even.bg

Background color of pinned unselected even tabs.

Type: QtColor

Default: darkseagreen

colors.tabs.pinned.even.fg

Foreground color of pinned unselected even tabs.

Type: QtColor

Default: white

colors.tabs.pinned.odd.bg

Background color of pinned unselected odd tabs.

Type: QtColor

Default: seagreen

colors.tabs.pinned.odd.fg

Foreground color of pinned unselected odd tabs.

Type: QtColor

Default: white

colors.tabs.pinned.selected.even.bg

Background color of pinned selected even tabs.

Type: QtColor

Default: black

colors.tabs.pinned.selected.even.fg

Foreground color of pinned selected even tabs.

Type: QtColor

Default: white

colors.tabs.pinned.selected.odd.bg

Background color of pinned selected odd tabs.

Type: QtColor

Default: black

colors.tabs.pinned.selected.odd.fg

Foreground color of pinned selected 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.tooltip.bg

Background color of tooltips. If set to null, the Qt default is used.

Type: QssColor

Default: empty

colors.tooltip.fg

Foreground color of tooltips. If set to null, the Qt default is used.

Type: QssColor

Default: empty

colors.webpage.bg

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

Type: QtColor

Default: white

colors.webpage.darkmode.algorithm

Which algorithm to use for modifying how colors are rendered with dark mode. The lightness-cielab value was added with QtWebEngine 5.14 and is treated like lightness-hsl with older QtWebEngine versions.

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

Type: String

Valid values:

  • lightness-cielab: Modify colors by converting them to CIELAB color space and inverting the L value. Not available with Qt < 5.14.

  • lightness-hsl: Modify colors by converting them to the HSL color space and inverting the lightness (i.e. the "L" in HSL).

  • brightness-rgb: Modify colors by subtracting each of r, g, and b from their maximum value.

Default: lightness-cielab

colors.webpage.darkmode.contrast

Contrast for dark mode. This only has an effect when colors.webpage.darkmode.algorithm is set to lightness-hsl or brightness-rgb.

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

Type: Float

Default: 0.0

colors.webpage.darkmode.enabled

Render all web contents using a dark theme. Example configurations from Chromium’s chrome://flags: - "With simple HSL/CIELAB/RGB-based inversion": Set colors.webpage.darkmode.algorithm accordingly, and set colors.webpage.darkmode.policy.images to never.

  • "With selective image inversion": qutebrowser default settings.

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

Type: Bool

Default: false

colors.webpage.darkmode.policy.images

Which images to apply dark mode to.

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

Type: String

Valid values:

  • always: Apply dark mode filter to all images.

  • never: Never apply dark mode filter to any images.

  • smart: Apply dark mode based on image content. Not available with Qt 5.15.0.

  • smart-simple: On QtWebEngine 6.6, use a simpler algorithm for smart mode (based on numbers of colors and transparency), rather than an ML-based model. Same as smart on older QtWebEnigne versions.

Default: smart

colors.webpage.darkmode.policy.page

Which pages to apply dark mode to. The underlying Chromium setting has been removed in QtWebEngine 5.15.3, thus this setting is ignored there. Instead, every element is now classified individually.

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

Type: String

Valid values:

  • always: Apply dark mode filter to all frames, regardless of content.

  • smart: Apply dark mode filter to frames based on background color.

Default: smart

colors.webpage.darkmode.threshold.background

Threshold for inverting background elements with dark mode. Background elements with brightness above this threshold will be inverted, and below it will be left as in the original, non-dark-mode page. Set to 256 to never invert the color or to 0 to always invert it. Note: This behavior is the opposite of colors.webpage.darkmode.threshold.foreground!

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

Type: Int

Default: 0

colors.webpage.darkmode.threshold.foreground

Threshold for inverting text with dark mode. Text colors with brightness below this threshold will be inverted, and above it will be left as in the original, non-dark-mode page. Set to 256 to always invert text color or to 0 to never invert text color.

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

Type: Int

Default: 256

colors.webpage.preferred_color_scheme

Value to use for prefers-color-scheme: for websites. The "light" value is only available with QtWebEngine 5.15.2+. On older versions, it is the same as "auto". The "auto" value is broken on QtWebEngine 5.15.2 due to a Qt bug. There, it will fall back to "light" unconditionally.

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

Type: String

Valid values:

  • auto: Use the system-wide color scheme setting.

  • light: Force a light theme.

  • dark: Force a dark theme.

Default: auto

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

Default filesystem autocomplete suggestions for :open. The elements of this list show up in the completion window under the Filesystem category when the command line contains :open but no argument.

Default: empty

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

  • filesystem

Default:

  • searchengines

  • quickmarks

  • bookmarks

  • history

  • filesystem

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 and https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior for allowed substitutions, qutebrowser uses both sqlite and Python to format its timestamps.

Type: String

Default: %Y-%m-%d %H:%M

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

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.

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.

This setting supports URL patterns.

This setting is only available with the QtWebEngine backend.

Type: Bool

Default: true

content.blocking.adblock.lists

List of URLs to ABP-style adblocking rulesets.

Only used when Brave’s ABP-style adblocker is used (see content.blocking.method).

You can find an overview of available lists here: https://adblockplus.org/en/subscriptions - note that the special subscribe.adblockplus.org links aren’t handled by qutebrowser, you will instead need to find the link to the raw .txt file (e.g. by extracting it from the location parameter of the subscribe URL and URL-decoding it).

Default:

  • https://easylist.to/easylist/easylist.txt

  • https://easylist.to/easylist/easyprivacy.txt

content.blocking.enabled

Enable the ad/host blocker

This setting supports URL patterns.

Type: Bool

Default: true

content.blocking.hosts.block_subdomains

Block subdomains of blocked hosts. Note: If only a single subdomain is blocked but should be allowed, consider using content.blocking.whitelist instead.

Type: Bool

Default: true

content.blocking.hosts.lists

List of URLs to host blocklists for the host blocker.

Only used when the simple host-blocker is used (see content.blocking.method).

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.

Default:

  • https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts

content.blocking.method

Which method of blocking ads should be used.

Support for Adblock Plus (ABP) syntax blocklists using Brave’s Rust library requires the adblock Python package to be installed, which is an optional dependency of qutebrowser. It is required when either adblock or both are selected.

Type: String

Valid values:

  • auto: Use Brave’s ABP-style adblocker if available, host blocking otherwise

  • adblock: Use Brave’s ABP-style adblocker

  • hosts: Use hosts blocking

  • both: Use both hosts blocking and Brave’s ABP-style adblocker

Default: auto

content.blocking.whitelist

A list of patterns that should always be loaded, despite being blocked by the ad-/host-blocker. Local domains are always exempt from adblocking. Note this whitelists otherwise blocked requests, not first-party URLs. As an example, if example.org loads an ad from ads.example.org, the whitelist entry could be https://ads.example.org/*. If you want to disable the adblocker on a given page, use the content.blocking.enabled setting with a URL pattern instead.

Default: empty

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.

This setting is only available with the QtWebKit backend.

Type: Bool

Default: true

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: https://webkit.org/blog/427/webkit-page-cache-i-the-basics/

This setting is only available with the QtWebKit backend.

Type: Int

Default: 0

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. On QtWebEngine < 6.6, this setting requires a restart and does not support URL patterns, only the global setting is applied.

This setting supports URL patterns.

This setting is only available with the QtWebEngine backend.

Type: Bool

Default: true

content.cookies.accept

Which cookies to accept. With QtWebEngine, this setting also controls other features with tracking capabilities similar to those of cookies; including IndexedDB, DOM storage, filesystem API, service workers, and AppCache. Note that with QtWebKit, only all and never are supported as per-domain values. Setting no-3rdparty or no-unknown-3rdparty per-domain on QtWebKit will have the same effect as all. If this setting is used with URL patterns, the pattern gets applied to the origin/first party URL of the page making the request, not the request URL. With QtWebEngine 5.15.0+, paths will be stripped from URLs, so URL patterns using paths will not match. With QtWebEngine 5.15.2+, subdomains are additionally stripped as well, so you will typically need to set this setting for example.com when the cookie is set on somesubdomain.example.com for it to work properly. To debug issues with this setting, start qutebrowser with --debug --logfilter network --debug-flag log-cookies which will show all cookies being set.

This setting supports URL patterns.

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

content.cookies.store

Store cookies.

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.

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.

This setting is only available with the QtWebEngine backend.

Type: Bool

Default: true

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.

This setting is only available with the QtWebKit backend.

Type: Bool

Default: false

content.fullscreen.overlay_timeout

Set fullscreen notification overlay timeout in milliseconds. If set to 0, no overlay will be displayed.

Type: Int

Default: 3000

content.fullscreen.window

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

Type: Bool

Default: false

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;q=0.9

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. Note that with QtWebEngine, websites can override this preference by setting the Referrer-Policy: header, so that any websites visited from them get the full referer. No restart is needed with QtWebKit.

This setting requires a restart.

Type: String

Valid values:

  • always: Always send the Referer. With QtWebEngine 6.2+, this value is unavailable and will act like same-domain.

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

The following placeholders are defined:

  • {os_info}: Something like "X11; Linux x86_64".

  • {webkit_version}: The underlying WebKit version (set to a fixed value with QtWebEngine).

  • {qt_key}: "Qt" for QtWebKit, "QtWebEngine" for QtWebEngine.

  • {qt_version}: The underlying Qt version.

  • {upstream_browser_key}: "Version" for QtWebKit, "Chrome" for QtWebEngine.

  • {upstream_browser_version}: The corresponding Safari/Chrome version.

  • {qutebrowser_version}: The currently running qutebrowser version.

The default value is equal to the unchanged user agent of QtWebKit/QtWebEngine.

Note that the value read from JavaScript is always the global value. With QtWebEngine between 5.12 and 5.14 (inclusive), changing the value exposed to JavaScript requires a restart.

This setting supports URL patterns.

Default: Mozilla/5.0 ({os_info}) AppleWebKit/{webkit_version} (KHTML, like Gecko) {qt_key}/{qt_version} {upstream_browser_key}/{upstream_browser_version} Safari/{webkit_version}

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_close_tabs

Allow JavaScript to close tabs.

This setting supports URL patterns.

This setting is only available with the QtWebKit backend.

Type: Bool

Default: false

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

Valid values:

  • none: Disable access to clipboard.

  • access: Allow reading from and writing to the clipboard.

  • access-paste: Allow accessing the clipboard and pasting clipboard content.

Default: none

content.javascript.enabled

Enable JavaScript.

This setting supports URL patterns.

Type: Bool

Default: true

content.javascript.legacy_touch_events

Enables the legacy touch event feature. This affects JS APIs such as: - ontouch* members on window, document, Element - document.createTouch, document.createTouchList - document.createEvent("TouchEvent") Newer Chromium versions have those disabled by default: https://bugs.chromium.org/p/chromium/issues/detail?id=392584 https://groups.google.com/a/chromium.org/g/blink-dev/c/KV6kqDJpYiE

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

Type: String

Valid values:

  • always: Legacy touch events are always enabled. This might cause some websites to assume a mobile device.

  • auto: Legacy touch events are only enabled if a touch screen was detected on startup.

  • never: Legacy touch events are always disabled.

Default: never

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. The following levels are valid: none, debug, info, warning, error.

Type: Dict

Default:

  • error: debug

  • info: debug

  • unknown: debug

  • warning: debug

content.javascript.log_message.excludes

Javascript messages to not show in the UI, despite a corresponding content.javascript.log_message.levels setting. Both keys and values are glob patterns, with the key matching the location of the error, and the value matching the error message. By default, the Content security policy violations triggered by qutebrowser’s stylesheet handling are excluded, as those errors are to be expected and can’t be easily handled by the underlying code.

Type: Dict

Default:

  • userscript:_qute_stylesheet:

    • *Refused to apply inline style because it violates the following Content Security Policy directive: *

content.javascript.log_message.levels

Javascript message sources/levels to show in the qutebrowser UI. When a JavaScript message is logged from a location matching the glob pattern given in the key, and is from one of the levels listed as value, it’s surfaced as a message in the qutebrowser UI. By default, errors happening in qutebrowser internally are shown to the user.

Type: Dict

Default:

  • qute:*:

    • error

  • userscript:*:

    • error

  • userscript:GM-*: empty

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

Allow websites to record audio.

This setting supports URL patterns.

This setting is only available with the QtWebEngine backend.

Type: BoolAsk

Valid values:

  • true

  • false

  • ask

Default: ask

content.media.audio_video_capture

Allow websites to record audio and video.

This setting supports URL patterns.

This setting is only available with the QtWebEngine backend.

Type: BoolAsk

Valid values:

  • true

  • false

  • ask

Default: ask

content.media.video_capture

Allow websites to record video.

This setting supports URL patterns.

This setting is only available with the QtWebEngine backend.

Type: BoolAsk

Valid values:

  • true

  • false

  • ask

Default: ask

content.mouse_lock

Allow websites to lock your mouse pointer.

This setting supports URL patterns.

This setting is only available with the QtWebEngine backend.

Type: BoolAsk

Valid values:

  • true

  • false

  • ask

Default: ask

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

Allow websites to show notifications.

This setting supports URL patterns.

Type: BoolAsk

Valid values:

  • true

  • false

  • ask

Default: ask

content.notifications.presenter

What notification presenter to use for web notifications. Note that not all implementations support all features of notifications: - The qt and systray options only support showing one notification at the time and ignore the tag option to replace existing notifications. - The herbe option only supports showing one notification at the time and doesn’t show icons. - The messages option doesn’t show icons and doesn’t support the click and close events.

This setting is only available with the QtWebEngine backend.

Type: String

Valid values:

  • auto: Tries libnotify, systray and messages, uses the first one available without showing error messages.

  • qt: Use Qt’s native notification presenter, based on a system tray icon. Switching from or to this value requires a restart of qutebrowser.

  • libnotify: Shows messages via DBus in a libnotify-compatible way. If DBus isn’t available, falls back to systray or messages, but shows an error message.

  • systray: Use a notification presenter based on a systray icon. Falls back to libnotify or messages if not systray is available. This is a reimplementation of the qt setting value, but with the possibility to switch to it at runtime.

  • messages: Show notifications as qutebrowser messages. Most notification features aren’t available.

  • herbe: (experimental!) Show notifications using herbe (github.com/dudik/herbe). Most notification features aren’t available.

Default: auto

content.notifications.show_origin

Whether to show the origin URL for notifications. Note that URL patterns with this setting only get matched against the origin part of the URL, so e.g. paths in patterns will never match. Note that with the qt presenter, origins are never shown.

This setting supports URL patterns.

This setting is only available with the QtWebEngine backend.

Type: Bool

Default: true

content.pdfjs

Display PDF files via PDF.js in the browser without showing a download prompt. Note that the files can still be downloaded by clicking the download button in the pdf.js viewer. With this set to false, the :prompt-open-download --pdfjs command (bound to <Ctrl-p> by default) can be used in the download prompt.

This setting supports URL patterns.

Type: Bool

Default: false

content.persistent_storage

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

This setting supports URL patterns.

This setting is only available with the QtWebEngine backend.

Type: BoolAsk

Valid values:

  • true

  • false

  • ask

Default: ask

content.plugins

Enable plugins in Web pages.

This setting supports URL patterns.

Type: Bool

Default: false

content.prefers_reduced_motion

Request websites to minimize non-essentials animations and motion. This results in the prefers-reduced-motion CSS media query to evaluate to reduce (rather than no-preference). On Windows, if this setting is set to False, the system-wide animation setting is considered.

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

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.

This setting is only available with the QtWebEngine backend.

Type: Bool

Default: true

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. Note that with QtWebEngine, it will take a couple of seconds until the change is applied, if this value is changed at runtime. Authentication for SOCKS proxies isn’t supported due to Chromium limitations.

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.

This setting is only available with the QtWebKit backend.

Type: Bool

Default: true

content.register_protocol_handler

Allow websites to register protocol handlers via navigator.registerProtocolHandler.

This setting supports URL patterns.

This setting is only available with the QtWebEngine backend.

Type: BoolAsk

Valid values:

  • true

  • false

  • ask

Default: ask

content.site_specific_quirks.enabled

Enable quirks (such as faked user agent headers) needed to get specific sites to work properly.

This setting requires a restart.

Type: Bool

Default: true

content.site_specific_quirks.skip

Disable a list of named quirks.

Type: FlagList

Valid values:

  • ua-whatsapp

  • ua-google

  • ua-slack

  • ua-googledocs

  • js-whatsapp-web

  • js-discord

  • js-string-replaceall

  • js-array-at

  • misc-krunker

  • misc-mathml-darkmode

Default: empty

content.tls.certificate_errors

How to proceed on TLS certificate errors.

This setting supports URL patterns.

Type: String

Valid values:

  • ask: Ask how to proceed for every certificate error (unless non-overridable due to HSTS).

  • ask-block-thirdparty: Ask how to proceed for normal page loads, but silently block resource loads.

  • block: Automatically block loading on certificate errors.

  • load-insecurely: Force loading pages despite certificate errors. This is insecure and should be avoided. Instead of using this, consider fixing the underlying issue or importing a self-signed certificate via certutil (or Chromium) instead.

Default: ask

content.unknown_url_scheme_policy

How navigation requests to URLs with unknown schemes are handled.

This setting supports URL patterns.

This setting is only available with the QtWebEngine backend.

Type: String

Valid values:

  • disallow: Disallows all navigation requests to URLs with unknown schemes.

  • allow-from-user-interaction: Allows navigation requests to URLs with unknown schemes that are issued from user-interaction (like a mouse-click), whereas other navigation requests (for example from JavaScript) are suppressed.

  • allow-all: Allows all navigation requests to URLs with unknown schemes.

Default: allow-from-user-interaction

content.user_stylesheets

List of user stylesheet filenames to use.

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.

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

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

content.xss_auditing

Monitor load requests for cross-site scripting attempts. Suspicious scripts will be blocked and reported in the devtools JavaScript console. Note that bypasses for the XSS auditor are widely known and it can be abused for cross-site info leaks in some scenarios, see: https://www.chromium.org/developers/design-documents/xss-auditor

This setting supports URL patterns.

Type: Bool

Default: false

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.

Valid values:

  • top

  • bottom

Default: top

downloads.prevent_mixed_content

Automatically abort insecure (HTTP) downloads originating from secure (HTTPS) pages. For per-domain settings, the relevant URL is the URL initiating the download, not the URL the download itself is coming from. It’s not recommended to set this setting to false globally.

This setting supports URL patterns.

Type: Bool

Default: true

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 edit-* commands. 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.

Default:

  • gvim

  • -f

  • {file}

  • -c

  • normal {line}G{column0}l

editor.encoding

Encoding to use for the editor.

Type: Encoding

Default: utf-8

editor.remove_file

Delete the temporary file upon closing the editor.

Type: Bool

Default: true

fileselect.folder.command

Command (and arguments) to use for selecting a single folder in forms. The command should write the selected folder path to the specified file or stdout. The following placeholders are defined: * {}: Filename of the file to be written to. If not contained in any argument, the standard output of the command is read instead.

Default:

  • xterm

  • -e

  • ranger

  • --choosedir={}

fileselect.handler

Handler for selecting file(s) in forms. If external, then the commands specified by fileselect.single_file.command, fileselect.multiple_files.command and fileselect.folder.command are used to select one file, multiple files, and folders, respectively.

Type: String

Valid values:

  • default: Use the default file selector.

  • external: Use an external command.

Default: default

fileselect.multiple_files.command

Command (and arguments) to use for selecting multiple files in forms. The command should write the selected file paths to the specified file or to stdout, separated by newlines. The following placeholders are defined: * {}: Filename of the file to be written to. If not contained in any argument, the standard output of the command is read instead.

Default:

  • xterm

  • -e

  • ranger

  • --choosefiles={}

fileselect.single_file.command

Command (and arguments) to use for selecting a single file in forms. The command should write the selected file path to the specified file or stdout. The following placeholders are defined: * {}: Filename of the file to be written to. If not contained in any argument, the standard output of the command is read instead.

Default:

  • xterm

  • -e

  • ranger

  • --choosefile={}

fonts.completion.category

Font used in the completion categories.

Type: Font

Default: bold default_size default_family

fonts.completion.entry

Font used in the completion widget.

Type: Font

Default: default_size default_family

fonts.contextmenu

Font used for the context menu. If set to null, the Qt default is used.

Type: Font

Default: empty

fonts.debug_console

Font used for the debugging console.

Type: Font

Default: default_size default_family

fonts.default_family

Default font families to use. Whenever "default_family" is used in a font setting, it’s replaced with the fonts listed here. If set to an empty value, a system-specific monospace default is used.

Default: empty

fonts.default_size

Default font size to use. Whenever "default_size" is used in a font setting, it’s replaced with the size listed here. Valid values are either a float value with a "pt" suffix, or an integer value with a "px" suffix.

Type: String

Default: 10pt

fonts.downloads

Font used for the downloadbar.

Type: Font

Default: default_size default_family

fonts.hints

Font used for the hints.

Type: Font

Default: bold default_size default_family

fonts.keyhint

Font used in the keyhint widget.

Type: Font

Default: default_size default_family

fonts.messages.error

Font used for error messages.

Type: Font

Default: default_size default_family

fonts.messages.info

Font used for info messages.

Type: Font

Default: default_size default_family

fonts.messages.warning

Font used for warning messages.

Type: Font

Default: default_size default_family

fonts.prompts

Font used for prompts.

Type: Font

Default: default_size sans-serif

fonts.statusbar

Font used in the statusbar.

Type: Font

Default: default_size default_family

fonts.tabs.selected

Font used for selected tabs.

Type: Font

Default: default_size default_family

fonts.tabs.unselected

Font used for unselected tabs.

Type: Font

Default: default_size default_family

fonts.tooltip

Font used for tooltips. If set to null, the Qt default is used.

Type: Font

Default: empty

fonts.web.family.cursive

Font family for cursive fonts.

This setting supports URL patterns.

Default: empty

fonts.web.family.fantasy

Font family for fantasy fonts.

This setting supports URL patterns.

Default: empty

fonts.web.family.fixed

Font family for fixed fonts.

This setting supports URL patterns.

Default: empty

fonts.web.family.sans_serif

Font family for sans-serif fonts.

This setting supports URL patterns.

Default: empty

fonts.web.family.serif

Font family for serif fonts.

This setting supports URL patterns.

Default: empty

fonts.web.family.standard

Font family for standard fonts.

This setting supports URL patterns.

Default: empty

fonts.web.size.default

Default font size (in pixels) for regular text.

This setting supports URL patterns.

Type: Int

Default: 16

fonts.web.size.default_fixed

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

This setting supports URL patterns.

Type: Int

Default: 13

fonts.web.size.minimum

Hard minimum font size (in pixels).

This setting supports URL patterns.

Type: Int

Default: 0

fonts.web.size.minimum_logical

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

This setting supports URL patterns.

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.

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.

This setting is only available with the QtWebKit backend.

Type: String

Valid values:

  • javascript: Better but slower

  • python: Slightly worse but faster

Default: python

hints.hide_unmatched_rapid_hints

Hide unmatched hints in rapid mode.

Type: Bool

Default: true

hints.leave_on_load

Leave hint mode when starting a new page load.

Type: Bool

Default: false

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.

Default:

  • \bnext\b

  • \bmore\b

  • \bnewer\b

  • \b[>→≫]\b

  • \b(>>|»)\b

  • \bcontinue\b

hints.padding

Padding (in pixels) for hints.

Type: Padding

Default:

  • bottom: 0

  • left: 3

  • right: 3

  • top: 0

hints.prev_regexes

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

Default:

  • \bprev(ious)?\b

  • \bback\b

  • \bolder\b

  • \b[<←≪]\b

  • \b(<<|«)\b

hints.radius

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

Type: Int

Default: 3

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

    • [contenteditable]:not([contenteditable="false"])

    • [onclick]

    • [onmousedown]

    • [role="link"]

    • [role="option"]

    • [role="button"]

    • [role="tab"]

    • [role="checkbox"]

    • [role="switch"]

    • [role="menuitem"]

    • [role="menuitemcheckbox"]

    • [role="menuitemradio"]

    • [role="treeitem"]

    • [aria-haspopup]

    • [ng-click]

    • [ngClick]

    • [data-ng-click]

    • [x-ng-click]

    • [tabindex]:not([tabindex="-1"])

  • 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])

    • [contenteditable]:not([contenteditable="false"])

    • 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

Include hyperlinks in the keyboard focus chain when tabbing.

This setting supports URL patterns.

Type: Bool

Default: true

input.match_counts

Interpret number prefixes as counts for bindings. This enables for vi-like bindings that can be prefixed with a number to indicate a count. Disabling it allows for emacs-like bindings where number keys are passed through (according to input.forward_unbound_keys) instead.

Type: Bool

Default: true

input.media_keys

Whether the underlying Chromium should handle media keys. On Linux, disabling this also disables Chromium’s MPRIS integration.

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

Type: Bool

Default: true

input.mode_override

Mode to change to when focusing on a tab/URL changes.

This setting supports URL patterns.

Type: String

Valid values:

  • normal

  • insert

  • passthrough

Default: empty

input.mouse.back_forward_buttons

Enable back and forward buttons on the mouse.

Type: Bool

Default: true

input.mouse.rocker_gestures

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

Type: Bool

Default: false

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. If set to 0, partially typed bindings are never cleared.

Type: Int

Default: 0

input.spatial_navigation

Enable spatial navigation. Spatial navigation consists in the ability to navigate between focusable elements, such as hyperlinks and form controls, on a web page by using the Left, Right, Up and Down arrow keys. For example, if a user presses the Right key, heuristics determine whether there is an element they might be trying to reach towards the right and which element they probably want.

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.

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

logging.level.console

Level for console (stdout/stderr) logs. Ignored if the --loglevel or --debug CLI flags are used.

Type: LogLevel

Valid values:

  • vdebug

  • debug

  • info

  • warning

  • error

  • critical

Default: info

logging.level.ram

Level for in-memory logs.

Type: LogLevel

Valid values:

  • vdebug

  • debug

  • info

  • warning

  • error

  • critical

Default: debug

messages.timeout

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

Type: Int

Default: 3000

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.

  • private-window: Open in a new private window.

Default: tab

new_instance_open_target_window

Which window to choose when opening links as new tabs. When new_instance_open_target is 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 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.

Default: empty

qt.chromium.experimental_web_platform_features

Enables Web Platform features that are in development. This passes the --enable-experimental-web-platform-features flag to Chromium. By default, this is enabled with Qt 5 to maximize compatibility despite an aging Chromium base.

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

Type: String

Valid values:

  • always: Enable experimental web platform features.

  • auto: Enable experimental web platform features when using Qt 5.

  • never: Disable experimental web platform features.

Default: auto

qt.chromium.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.

This setting is only available with the QtWebEngine backend.

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

qt.chromium.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:

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

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

qt.chromium.sandboxing

What sandboxing mechanisms in Chromium to use. Chromium has various sandboxing layers, which should be enabled for normal browser usage. Mainly for testing and development, it’s possible to disable individual sandboxing layers via this setting. Open chrome://sandbox to see the current sandbox status. Changing this setting is only recommended if you know what you’re doing, as it disables one of Chromium’s security layers. To avoid sandboxing being accidentally disabled persistently, this setting can only be set via config.py, not via :set. See the Chromium documentation for more details: - Linux - Windows - FAQ (Windows-centric)

This setting requires a restart.

This setting can only be set in config.py.

This setting is only available with the QtWebEngine backend.

Type: String

Valid values:

  • enable-all: Enable all available sandboxing mechanisms.

  • disable-seccomp-bpf: Disable the Seccomp BPF filter sandbox (Linux only).

  • disable-all: Disable all sandboxing (not recommended!).

Default: enable-all

qt.environ

Additional environment variables to set. Setting an environment variable to null/None will unset it.

This setting requires a restart.

Type: Dict

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_platformtheme

Force a Qt platformtheme to use. This sets the QT_QPA_PLATFORMTHEME environment variable which controls dialogs like the filepicker. By default, Qt determines the platform theme based on the desktop environment.

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.

This setting is only available with the QtWebEngine backend.

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

qt.highdpi

Turn on Qt HighDPI scaling. This is equivalent to setting QT_ENABLE_HIGHDPI_SCALING=1 (Qt >= 5.14) 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.workarounds.disable_accelerated_2d_canvas

Disable accelerated 2d canvas to avoid graphical glitches. On some setups graphical issues can occur on sites like Google sheets and PDF.js. These don’t occur when accelerated 2d canvas is turned off, so we do that by default. So far these glitches only occur on some Intel graphics devices.

This setting requires a restart.

This setting is only available with the QtWebEngine backend.

Type: String

Valid values:

  • always: Disable accelerated 2d canvas

  • auto: Disable on Qt6 < 6.6.0, enable otherwise

  • never: Enable accelerated 2d canvas

Default: auto

qt.workarounds.locale

Work around locale parsing issues in QtWebEngine 5.15.3. With some locales, QtWebEngine 5.15.3 is unusable without this workaround. In affected scenarios, QtWebEngine will log "Network service crashed, restarting service." and only display a blank page. However, It is expected that distributions shipping QtWebEngine 5.15.3 follow up with a proper fix soon, so it is disabled by default.

This setting is only available with the QtWebEngine backend.

Type: Bool

Default: false

qt.workarounds.remove_service_workers

Delete the QtWebEngine Service Worker directory on every start. This workaround can help with certain crashes caused by an unknown QtWebEngine bug related to Service Workers. Those crashes happen seemingly immediately on Windows; after one hour of operation on other systems. Note however that enabling this option can lead to data loss on some pages (as Service Worker data isn’t persisted) and will negatively impact start-up time.

Type: Bool

Default: false

scrolling.bar

When/how 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.

  • overlay: Show an overlay scrollbar. On macOS, this is unavailable and equal to when-searching; with the QtWebKit backend, this is equal to never. Enabling/disabling overlay scrollbars requires a restart.

Default: overlay

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.

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

search.wrap

Wrap around at the top and bottom of the page when advancing through text matches using :search-next and :search-prev.

Type: Bool

Default: true

search.wrap_messages

Display messages when advancing through text matches at the top and bottom of the page, e.g. Search hit TOP.

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.

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.

This setting is only available with the QtWebEngine backend.

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

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.

Valid values:

  • top

  • bottom

Default: bottom

statusbar.show

When to show the statusbar.

Type: String

Valid values:

  • always: Always show the statusbar.

  • never: Always hide the statusbar.

  • in-mode: Show the statusbar when in modes other than normal mode.

Default: always

statusbar.widgets

List of widgets displayed in the statusbar.

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.

  • search_match: A match count when searching, e.g. Match [2/10].

  • tabs: Current active tab, e.g. 2.

  • keypress: Display pressed keys when composing a vi command.

  • progress: Progress bar for the current page loading.

  • text:foo: Display the static text after the colon, foo in the example.

  • clock: Display current time. The format can be changed by adding a format string via clock:.... For supported format strings, see the Python datetime documentation.

Default:

  • keypress

  • search_match

  • url

  • scroll

  • history

  • tabs

  • progress

tabs.background

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

Type: Bool

Default: true

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. When switching this from never to always/pinned, note that favicons might not be loaded yet, thus tabs might require a reload to display them.

Type: String

Valid values:

  • always: Always show favicons.

  • never: Always hide favicons.

  • pinned: Show favicons only on pinned tabs.

Default: always

tabs.focus_stack_size

Maximum stack size to remember for tab switches (-1 for no maximum).

Type: Int

Default: 10

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. If the tabs.tabs_are_windows setting is set, this is ignored and the behavior is always identical to the close value.

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.

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.

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.

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.

Valid values:

  • left

  • right

  • center

Default: left

tabs.title.elide

Position of ellipsis in truncated title of tabs.

Valid values:

  • left

  • right

  • middle

  • none

Default: right

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.

  • {current_title}: Title of the current web page.

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

  • {index}: Index of this tab.

  • {aligned_index}: Index of this tab padded with spaces to have the same width.

  • {relative_index}: Index of this tab relative to the current 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.

Default: {audio}{index}: {current_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.

Default: {index}

tabs.tooltips

Show tooltips on tabs. Note this setting only affects windows opened after it has been set.

Type: Bool

Default: true

tabs.undo_stack_size

Number of closed tabs (per window) and closed windows to remember for :undo (-1 for no maximum).

Type: Int

Default: 100

tabs.width

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

Type: PercOrInt

Default: 15%

tabs.wrap

Wrap when changing tabs.

Type: Bool

Default: true

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.

  • schemeless: Always search automatically unless URL explicitly contains a scheme.

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 {/} braces.

The following further placeholds are defined to configure how special characters in the search terms are replaced by safe characters (called quoting):

  • {} and {semiquoted} quote everything except slashes; this is the most sensible choice for almost all search engines (for the search term slash/and&amp this placeholder expands to slash/and%26amp).

  • {quoted} quotes all characters (for slash/and&amp this placeholder expands to slash%2Fand%26amp).

  • {unquoted} quotes nothing (for slash/and&amp this placeholder expands to slash/and&amp).

  • {0} means the same as {}, but can be used multiple times.

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.

Default: https://start.duckduckgo.com

url.yank_ignored_parameters

URL parameters to strip with :yank url.

Default:

  • ref

  • utm_source

  • utm_medium

  • utm_campaign

  • utm_term

  • utm_content

  • utm_name

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.

Default: {perc}{current_title}{title_sep}qutebrowser

window.transparent

Set the main window background to transparent.

This allows having a transparent tab- or statusbar (might require a compositor such as picom). However, it breaks some functionality such as dmenu embedding via its -w option. On some systems, it was additionally reported that main window transparency negatively affects performance.

Note this setting only affects windows opened after setting it.

Type: Bool

Default: false

zoom.default

Default zoom level.

Type: Perc

Default: 100%

zoom.levels

Available zoom levels.

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.

This setting is only available with the QtWebKit backend.

Type: Bool

Default: false

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.

ElidePosition

Position of ellipsis in truncated text.

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.

LogLevel

A logging level.

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/#AARRGGBB/#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/#AARRGGBB/#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)

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.

StatusbarWidget

A widget for the status bar.

Allows some predefined widgets and custom text-widgets via text:$CONTENT.

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.