A keyboard-driven, vim-like browser based on Python and Qt.
colors.webpage.prefers_color_scheme_dark
setting which allows forcing
prefers-color-scheme: dark
colors for websites (QtWebEngine with Qt 5.14 or
newer).fonts.default_size
setting which can be used to set a bigger font size
for all UI fonts.fonts.monospace
setting has been removed and replaced by
fonts.default_family
. The new default_family
setting is improved in
various ways:
fonts.monospace = "Courier, Monaco"
, use
fonts.default_family = ["Courier", "Monaco"]
.fonts.monospace = '"xos4 Terminus"'
, use
fonts.default_family = 'xos4 Terminus'
.monospace
is now used in a font value, it's used literally and not
replaced anymore. Instead, default_family
is replaced as explained above.content.headers.accept_language
value now adds a ;q=0.9
classifier which should make the value sent more in-line with what other
browsers do.qute-pass
userscript now has a new --mode gopass
switch which uses
gopass rather than pass.tox -e mkvenv
(or mkvenv-pypi
) way of installing qutebrowser is now
replaced by a mkvenv.py
script. See the updated
link:install{outfilesuffix}#tox[install instructions] for details.qute-pass
userscript now works correctly when a PASSWORD_STORE_DIR
ending with a trailing slash is given.content.site_specific_quirks
setting which enables workarounds for
websites with broken user agent parsing (enabled by default, see the "Fixed"
section for fixed websites).qt.force_platformtheme
setting to force Qt to use a given platform
theme.tabs.tooltips
setting which can be used to disable hover tooltips for
tabs.fonts.contextmenu
colors.contextmenu.menu.bg
colors.contextmenu.menu.fg
colors.contextmenu.selected.bg
colors.contextmenu.selected.fg
content.headers.user_agent
setting now is a format string with the
default value resembling the behavior of it being set to null before.
This slightly changes the sent user agent for QtWebKit: Instead of mentioning
qutebrowser and its version it now mentions the Qt version.qute-pass
userscript now has a new --extra-url-suffixes
(-s
)
argument which passes extra URL suffixes to the tldextract library.:tab-focus last
rather than just saving one tab.
Additionally, :tab-focus
now understands stack-prev
and stack-next
arguments to traverse that stack.:hint
now has a new right-click
target which allows right-clicking
elements via hints."xos4 Terminus"
or Terminus
(depending on fontconfig version) to the
beginning of the fonts.monospace
setting.:open-download
in a sandboxed environment (KDE
Flatpak).:spawn
command has a new -m
/ --output-messages
argument which
shows qutebrowser messages based on a command's standard output/error.file://*
now doesn't automatically have
it enabled anymore. Run :set -u file://* content.javascript.enabled true
to
restore the previous behavior.chrome-devtools://*
from Qt 5.11 to Qt 5.13, but devtools://*
with Qt 5.14.tabs.tabs_are_windows
is set:
:tab-take
and :tab-give
now shows an error, as the effect of
doing so would be equal to :tab-clone
.:buffer
completion doesn't show any window sections anymore, only a
flat list of tabs.QtFont
type (used for
fonts.tabs
and fonts.debug_console
).:download
) now see the same user agent header as
webpages, which fixes cases where overly restrictive servers/WAFs closed the
connection before.dictcli.py
now works correctly on Windows again.:restart
has been revisited, which should fix issues with
relative basedirs.qute://configdiff
page now doesn't show built-in settings (e.g.
javascript being enabled for qute://
and chrome://
pages) anymore.qute-lastpass
userscript now stops prompting for passwords when
cancelling the password input.content.images
setting.url.open_base_url
set, searching for a search engine name now works.url.open_base_url = True
together with url.auto_search = 'never'
is now
handled correctly.config.bind(key, None)
accidentally worked in
v1.7.0 but raises an exception in v1.8.0. It now works again, but is
deprecated and shows an error. Note that :config-py-write
did write
such invalid lines before v1.8.0, so existing config files might need
adjustments.readability-js
userscript now handles encodings correctly (which it
didn't before for some websites).:debug-log-level
without a console attached.colors.webpage.bg
to an empty value with QtWebKit.The Windows/macOS releases were pulled because of issues with the bundled Qt versions. Use the v1.8.1 release there instead.
readability-js
which uses Mozilla's node.js readability library.qute-bitwarden
which integrates the Bitwarden CLI.:config-source
is used with a relative filename, the file is now
searched in the config directory instead of the current working directory.dictcli.py
now shows where dictionaries are installed to and complains when
running it as root if doing so would result in a wrong installation path.setup.py build
when invoked without a target.pass
if only a username is requested.myrouter.local
.:version
now shows details about the loaded autoconfig.yml/config.py.content.xss_auditing
=
false
). This reflects a similar change in Chromium, see
their XSS Auditor Design Document for details.:config-write-py
now correctly writes config.unbind(...)
lines (instead
of config.bind(..., None)
) when unbinding a default keybinding.~/.config/qutebrowser/blocked-hosts
can now also contain /etc/hosts-like
lines, not just simple hostnames.StartupWMClass
correctly, so the qutebrowser icon
is no longer shown twice in the Gnome dock when pinned.dictcli.py
now works properly again.colors.tabs.pinned.*
to control colors of pinned tabs.hints.leave_on_load
which allows disabling leaving of hint mode when a
new page is loaded.colors.completion.item.selected.match.fg
which allows configuring the
text color for the matching text in the currently selected completion item.tabs.undo_stack_size
to limit how many undo entries are kept for closed tabs.:reverse-selection
(o
in caret mode) to swap the stationary/moving ends
of a selection.{url:domain}
, {url:auth}
, {url:scheme}
, {url:username}
,
{url:password}
, {url:host}
, {url:port}
, {url:path}
, {url:query}
for the respective parts of the current URL.{title}
for the current page title.{title}
field in tabs.title.format
, tabs.title.format_pinned
and
window.title_format
got renamed to {current_title}
(mirroring
{current_url}
) in order to not conflict with the new {title}
commandline
replacement.delete
target for :hint
which removes the hinted element from
the DOM.--config-py
commandline argument to use a custom config.py
file.qutebrowser.desktop
is now renamed to
org.qutebrowser.qutebrowser.desktop
.downloads.location.directory
now changes the directory displayed in
the download prompt even if downloads.location.remember
is set.yank
command gained a new inline
argument, which allows to e.g. use
:yank inline [{title}]({url})
.content.pdfjs
setting now supports domain patterns.:spawn -o
.colors.tabs.bar.bg
setting is now of type QssColor
and thus supports
gradients.:fullscreen
command now understands a new --enter
flag which
causes it to always enter fullscreen instead of toggling the current
state.--debug-flag stack
is now needed to show stack traces on renderer process
crashes.--debug-flag chromium
can be used to easily turn on verbose Chromium logging./app/share/pdf.js/
(for Flatpak)Y
(:prompt-accept --save yes
)
and N
(:prompt-accept --save no
) to save the answer as a per-domain
setting.content.dns_prefetch
is now turned off by default, as it causes crashes
inside QtWebEngine.resource_type
for a request and allows redirecting requests.:bookmark-remove
now shows a message for consistency with :bookmark-add
.:yank markdown
got deprecated, as :yank inline [{title}]({url})
can now
be used instead.100%
for a hue in a hsv(...)
config value now corresponds to 359
(rather than 255), matching the fixed behavior in Qt 5.13.;;
used to abort with some failing commands. It now
runs the second command no matter whether the first one succeeded or not.:navigate increment/decrement
.colors.hints.match.fg
setting was changed to QtColor
.
Gradients were never supported for this setting, and with this change, values
like rgb(0, 0, 0)
now work as well.AA_ShareOpenGLContexts
warning with Qt 5.12.4.~/.cache/qutebrowser
for the same result.:config-{dict,list}-{add,remove}
with an invalid setting._qutebrowser
(such as qutebrowser.org) on Qt 5.12.colors.statusbar.*.bg
to a gradient now has the expected effect of
the gradient spanning the entire statusbar.