diff options
author | Florian Bruhin <me@the-compiler.org> | 2020-10-05 18:57:37 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2020-10-05 18:57:37 +0200 |
commit | e1484d9038f5282e39f6d2d957f3a1d246ab8251 (patch) | |
tree | af842c19894ecd065f2e69f022f456f9ad377c0b /qutebrowser/config/qtargs.py | |
parent | aa03c1d9037ccb9e402156a2707e15d00ee8bd7a (diff) | |
download | qutebrowser-e1484d9038f5282e39f6d2d957f3a1d246ab8251.tar.gz qutebrowser-e1484d9038f5282e39f6d2d957f3a1d246ab8251.zip |
Implement dark mode for Qt 5.15.2
See #5752
Diffstat (limited to 'qutebrowser/config/qtargs.py')
-rw-r--r-- | qutebrowser/config/qtargs.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/qutebrowser/config/qtargs.py b/qutebrowser/config/qtargs.py index b81194c22..a9d92e95d 100644 --- a/qutebrowser/config/qtargs.py +++ b/qutebrowser/config/qtargs.py @@ -61,6 +61,21 @@ def qt_args(namespace: argparse.Namespace) -> typing.List[str]: return argv +def _darkmode_prefix() -> str: + """Return the prefix to use for darkmode settings.""" + try: + from PyQt5.QtWebEngine import PYQT_WEBENGINE_VERSION + except ImportError: + # Added in PyQt 5.13 + return 'darkMode' + + if PYQT_WEBENGINE_VERSION >= 0x050f02: + # QtWebEngine 5.15.2 comes with Chromium 83 + return 'forceDarkMode' + else: + return 'darkMode' + + def _darkmode_settings() -> typing.Iterator[typing.Tuple[str, str]]: """Get necessary blink settings to configure dark mode for QtWebEngine.""" if not config.val.colors.webpage.darkmode.enabled: @@ -139,10 +154,7 @@ def _darkmode_settings() -> typing.Iterator[typing.Tuple[str, str]]: if mapping is not None: value = mapping[value] - # FIXME: This is "forceDarkMode" starting with Chromium 83 - prefix = 'darkMode' - - yield prefix + key, str(value) + yield _darkmode_prefix() + key, str(value) def _qtwebengine_enabled_features( |