## - 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.
## 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
# c.content.cache.size = None
## 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.
## Type: Bool
# c.content.canvas_reading = True
## 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.
## 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.
# c.content.cookies.accept = 'all'
## Store cookies.
## Type: Bool
# c.content.cookies.store = True
## 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
# c.content.default_encoding = 'iso-8859-1'
## Allow websites to share screen content.
## Type: BoolAsk
## Valid values:
## - true
## - false
## - ask
# c.content.desktop_capture = 'ask'
## Try to pre-fetch DNS entries to speed up browsing.
## Type: Bool
# c.content.dns_prefetch = True
## Expand each subframe to its contents. This will flatten all the frames
## to become one scrollable page.
## Type: Bool
# c.content.frame_flattening = False
## Set fullscreen notification overlay timeout in milliseconds. If set to
## 0, no overlay will be displayed.
## Type: Int
# c.content.fullscreen.overlay_timeout = 3000
## Limit fullscreen to the browser window (does not expand to fill the
## screen).
## Type: Bool
# c.content.fullscreen.window = False
## Allow websites to request geolocations.
## Type: BoolAsk
## Valid values:
## - true
## - false
## - ask
# c.content.geolocation = 'ask'
## Value to send in the `Accept-Language` header. Note that the value
## read from JavaScript is always the global value.
## 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.
## Type: Bool
# c.content.headers.do_not_track = True
## 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.
## 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.
# c.content.headers.referer = 'same-domain'
## 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 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
## https://web.dev/csp/[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
# c.content.javascript.log_message.excludes = {'userscript:_qute_stylesheet': ['*Refused to apply inline style because it violates the following Content Security Policy directive: *']}
## 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.
## Enable support for HTML 5 local storage and Web SQL.
## Type: Bool
# c.content.local_storage = True
## Allow websites to record audio.
## Type: BoolAsk
## Valid values:
## - true
## - false
## - ask
# c.content.media.audio_capture = 'ask'
## Allow websites to record audio and video.
## Type: BoolAsk
## Valid values:
## - true
## - false
## - ask
# c.content.media.audio_video_capture = 'ask'
## Allow websites to record video.
## Type: BoolAsk
## Valid values:
## - true
## - false
## - ask
# c.content.media.video_capture = 'ask'
## Allow websites to lock your mouse pointer.
## Type: BoolAsk
## Valid values:
## - true
## - false
## - ask
# c.content.mouse_lock = 'ask'
## 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.
## Type: Bool
# c.content.mute = False
## Netrc-file for HTTP authentication. If unset, `~/.netrc` is used.
## Type: File
# c.content.netrc_file = None
## Allow websites to show notifications.
## Type: BoolAsk
## Valid values:
## - true
## - false
## - ask
# c.content.notifications.enabled = 'ask'
## 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.
## 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.
# c.content.notifications.presenter = 'auto'
## 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.
## Type: Bool
# c.content.notifications.show_origin = True
## 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.
## Type: Bool
# c.content.pdfjs = False
## Allow websites to request persistent storage quota via
## 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.
## Type: Bool
# c.content.prefers_reduced_motion = False
## Draw the background color and images also when the page is printed.
## Type: Bool
# c.content.print_element_backgrounds = True
## Open new windows in private browsing mode which does not record
## visited pages.
## Type: Bool
# c.content.private_browsing = False
## 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
# c.content.proxy = 'system'
## Send DNS requests over the configured proxy.
## Type: Bool
# c.content.proxy_dns_requests = True
## Allow websites to register protocol handlers via
## `navigator.registerProtocolHandler`.
## Type: BoolAsk
## Valid values:
## - true
## - false
## - ask
# c.content.register_protocol_handler = 'ask'
## Enable quirks (such as faked user agent headers) needed to get
## specific sites to work properly.
## Type: Bool
# c.content.site_specific_quirks.enabled = True
## 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
# c.content.site_specific_quirks.skip = []
## How to proceed on TLS certificate errors.
## 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.
# c.content.tls.certificate_errors = 'ask'
## How navigation requests to URLs with unknown schemes are handled.
## 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.
## - 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.
## Font used for tooltips. If set to null, the Qt default is used.
## Type: Font
# c.fonts.tooltip = None
## Font family for cursive fonts.
## Type: FontFamily
# c.fonts.web.family.cursive = ''
## Font family for fantasy fonts.
## Type: FontFamily
# c.fonts.web.family.fantasy = ''
## Font family for fixed fonts.
## Type: FontFamily
# c.fonts.web.family.fixed = ''
## Font family for sans-serif fonts.
## Type: FontFamily
# c.fonts.web.family.sans_serif = ''
## Font family for serif fonts.
## Type: FontFamily
# c.fonts.web.family.serif = ''
## Font family for standard fonts.
## Type: FontFamily
# c.fonts.web.family.standard = ''
## Default font size (in pixels) for regular text.
## Type: Int
# c.fonts.web.size.default = 16
## Default font size (in pixels) for fixed-pitch text.
## Type: Int
# c.fonts.web.size.default_fixed = 13
## Hard minimum font size (in pixels).
## Type: Int
# c.fonts.web.size.minimum = 0
## Minimum logical font size (in pixels) that is applied when zooming
## out.
## Type: Int
# c.fonts.web.size.minimum_logical = 6
## 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.
# c.hints.auto_follow = 'unique-match'
## Duration (in milliseconds) to ignore normal-mode key bindings after a
## successful auto-follow.
## Type: Int
# c.hints.auto_follow_timeout = 0
## CSS border value for hints.
## Type: String
# c.hints.border = '1px solid #E3BE23'
## Characters used for hint strings.
## Type: UniqueCharString
# c.hints.chars = 'asdfghjkl'
## Dictionary file to be used by the word hints.
## Type: File
# c.hints.dictionary = '/usr/share/dict/words'
## Which implementation to use to find elements to hint.
## Type: String
## Valid values:
## - javascript: Better but slower
## - python: Slightly worse but faster
# c.hints.find_implementation = 'python'
## Hide unmatched hints in rapid mode.
## Type: Bool
# c.hints.hide_unmatched_rapid_hints = True
## Leave hint mode when starting a new page load.
## Type: Bool
# c.hints.leave_on_load = False
## Minimum number of characters used for hint strings.
## Type: Int
# c.hints.min_chars = 1
## 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.
# c.hints.mode = 'letter'
## Comma-separated list of regular expressions to use for 'next' links.
## - 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`.
## 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.
## Type: Bool
# c.qt.workarounds.locale = False
## 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
# c.qt.workarounds.remove_service_workers = False
## 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.
# c.scrolling.bar = 'overlay'
## Enable smooth scrolling for web pages. Note smooth scrolling does not
## work with the `:scroll-px` command.
## Type: Bool
# c.scrolling.smooth = False
## When to find text on a page case-insensitively.
## Type: IgnoreCase
## Valid values:
## - always: Search case-insensitively.
## - never: Search case-sensitively.
## - smart: Search case-sensitively if there are capital characters.
# c.search.ignore_case = 'smart'
## Find text on a page incrementally, renewing the search for each typed
## character.
## Type: Bool
# c.search.incremental = True
## Wrap around at the top and bottom of the page when advancing through
## text matches using `:search-next` and `:search-prev`.
## Type: Bool
# c.search.wrap = True
## Display messages when advancing through text matches at the top and
## bottom of the page, e.g. `Search hit TOP`.
## Type: Bool
# c.search.wrap_messages = True
## Name of the session to save by default. If this is set to null, the
## session which was last loaded is saved.
## Type: SessionName
# c.session.default_name = None
## Load a restored tab as soon as it takes focus.
## Type: Bool
# c.session.lazy_restore = False
## Languages to use for spell checking. You can check for available
## languages and install dictionaries using scripts/dictcli.py. Run the
## - in-mode: Show the statusbar when in modes other than normal mode.
# c.statusbar.show = 'always'
## List of widgets displayed in the statusbar.
## Type: List of StatusbarWidget
## 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 https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes[the Python datetime documentation].