diff options
author | Florian Bruhin <me@the-compiler.org> | 2023-12-05 13:46:02 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2023-12-05 13:46:02 +0100 |
commit | 9d8c263e9a37a14474db659039c0890b334bc813 (patch) | |
tree | bf0fc76e2649ff0be77576727af35b7bb55749be /qutebrowser | |
parent | b40e1861c3aaa4b2336b5eff64f0fd2f9fe5b9d2 (diff) | |
download | qutebrowser-9d8c263e9a37a14474db659039c0890b334bc813.tar.gz qutebrowser-9d8c263e9a37a14474db659039c0890b334bc813.zip |
Extend pakjoy to Qt 6.5.0/.1/.2 with dark mode
See #7837
Diffstat (limited to 'qutebrowser')
-rw-r--r-- | qutebrowser/misc/pakjoy.py | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/qutebrowser/misc/pakjoy.py b/qutebrowser/misc/pakjoy.py index a511034a2..2bcde7ce9 100644 --- a/qutebrowser/misc/pakjoy.py +++ b/qutebrowser/misc/pakjoy.py @@ -32,11 +32,15 @@ import dataclasses import contextlib from typing import ClassVar, IO, Optional, Dict, Tuple, Iterator +from qutebrowser.config import config from qutebrowser.misc import binparsing, objects from qutebrowser.utils import qtutils, standarddir, version, utils, log HANGOUTS_MARKER = b"// Extension ID: nkeimhogjdpnpccoofpliimaahmaaome" -HANGOUTS_ID = 36197 # as found by toofar +HANGOUTS_IDS = [ + 36197, # QtWebEngine 6.5, as found by toofar + 34897, # QtWebEngine 6.4 +] PAK_VERSION = 5 RESOURCES_ENV_VAR = "QTWEBENGINE_RESOURCES_PATH" DISABLE_ENV_VAR = "QUTE_DISABLE_PAKJOY" @@ -136,9 +140,10 @@ class PakParser: def _find_manifest(self, entries: Dict[int, PakEntry]) -> Tuple[PakEntry, bytes]: to_check = list(entries.values()) - if HANGOUTS_ID in entries: - # Most likely candidate, based on previous known ID - to_check.insert(0, entries[HANGOUTS_ID]) + for hangouts_id in HANGOUTS_IDS: + if hangouts_id in entries: + # Most likely candidate, based on previous known ID + to_check.insert(0, entries[hangouts_id]) for entry in to_check: manifest = self._maybe_get_hangouts_manifest(entry) @@ -192,7 +197,16 @@ def copy_webengine_resources() -> Optional[pathlib.Path]: shutil.rmtree(work_dir) versions = version.qtwebengine_versions(avoid_init=True) - if versions.webengine != utils.VersionNumber(6, 6): + if not ( + # https://bugreports.qt.io/browse/QTBUG-118157 + versions.webengine == utils.VersionNumber(6, 6) + # https://bugreports.qt.io/browse/QTBUG-113369 + or ( + versions.webengine >= utils.VersionNumber(6, 5) + and versions.webengine < utils.VersionNumber(6, 5, 3) + and config.val.colors.webpage.darkmode.enabled + ) + ): # No patching needed return None |