diff options
author | Florian Bruhin <me@the-compiler.org> | 2019-12-29 13:41:14 +0100 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2019-12-29 13:41:14 +0100 |
commit | 7c4ba0b86b70add9efa165bebf485df698479f01 (patch) | |
tree | d6da08f4fb1a47eb287a5a096a728e1bebde1323 | |
parent | ab916993db88c0c5b9c8d67d0c8271d2030a5a13 (diff) | |
download | qutebrowser-7c4ba0b86b70add9efa165bebf485df698479f01.tar.gz qutebrowser-7c4ba0b86b70add9efa165bebf485df698479f01.zip |
Add a qt.force_platformtheme setting
-rw-r--r-- | doc/changelog.asciidoc | 2 | ||||
-rw-r--r-- | doc/help/settings.asciidoc | 11 | ||||
-rw-r--r-- | qutebrowser/config/configdata.yml | 13 | ||||
-rw-r--r-- | qutebrowser/config/configinit.py | 2 | ||||
-rw-r--r-- | tests/unit/config/test_configinit.py | 1 |
5 files changed, 29 insertions, 0 deletions
diff --git a/doc/changelog.asciidoc b/doc/changelog.asciidoc index cd6a0a7c3..9f7a22ac2 100644 --- a/doc/changelog.asciidoc +++ b/doc/changelog.asciidoc @@ -31,6 +31,8 @@ Added - New `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). +- New `qt.force_platformtheme` setting to force Qt to use a given platform + theme. Changed ~~~~~~~ diff --git a/doc/help/settings.asciidoc b/doc/help/settings.asciidoc index d48706ac9..3f43495c3 100644 --- a/doc/help/settings.asciidoc +++ b/doc/help/settings.asciidoc @@ -245,6 +245,7 @@ |<<prompt.radius,prompt.radius>>|Rounding radius (in pixels) for the edges of prompts. |<<qt.args,qt.args>>|Additional arguments to pass to Qt, without leading `--`. |<<qt.force_platform,qt.force_platform>>|Force a Qt platform to use. +|<<qt.force_platformtheme,qt.force_platformtheme>>|Force a Qt platformtheme to use. |<<qt.force_software_rendering,qt.force_software_rendering>>|Force software rendering for QtWebEngine. |<<qt.highdpi,qt.highdpi>>|Turn on Qt HighDPI scaling. |<<qt.low_end_device_mode,qt.low_end_device_mode>>|When to use Chromium's low-end device mode. @@ -3036,6 +3037,16 @@ Type: <<types,String>> Default: empty +[[qt.force_platformtheme]] +=== 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: <<types,String>> + +Default: empty + [[qt.force_software_rendering]] === qt.force_software_rendering Force software rendering for QtWebEngine. diff --git a/qutebrowser/config/configdata.yml b/qutebrowser/config/configdata.yml index 2d8d37e47..8d157d442 100644 --- a/qutebrowser/config/configdata.yml +++ b/qutebrowser/config/configdata.yml @@ -178,6 +178,19 @@ qt.force_platform: This sets the `QT_QPA_PLATFORM` environment variable and is useful to force using the XCB plugin when running QtWebEngine on Wayland. +qt.force_platformtheme: + type: + name: String + none_ok: true + default: null + restart: true + desc: >- + 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. + qt.process_model: type: name: String diff --git a/qutebrowser/config/configinit.py b/qutebrowser/config/configinit.py index e2c359e72..2924efeae 100644 --- a/qutebrowser/config/configinit.py +++ b/qutebrowser/config/configinit.py @@ -106,6 +106,8 @@ def _init_envvars() -> None: if config.val.qt.force_platform is not None: os.environ['QT_QPA_PLATFORM'] = config.val.qt.force_platform + if config.val.qt.force_platformtheme is not None: + os.environ['QT_QPA_PLATFORMTHEME'] = config.val.qt.force_platformtheme if config.val.window.hide_decoration: os.environ['QT_WAYLAND_DISABLE_WINDOWDECORATION'] = '1' diff --git a/tests/unit/config/test_configinit.py b/tests/unit/config/test_configinit.py index 671653b94..9d2843f63 100644 --- a/tests/unit/config/test_configinit.py +++ b/tests/unit/config/test_configinit.py @@ -308,6 +308,7 @@ class TestEarlyInit: ('qt.force_software_rendering', 'chromium', 'QT_WEBENGINE_DISABLE_NOUVEAU_WORKAROUND', '1'), ('qt.force_platform', 'toaster', 'QT_QPA_PLATFORM', 'toaster'), + ('qt.force_platformtheme', 'lxde', 'QT_QPA_PLATFORMTHEME', 'lxde'), ('window.hide_decoration', True, 'QT_WAYLAND_DISABLE_WINDOWDECORATION', '1') ]) |