From a849b8f9005ec2d91853f15020070078f6f4262d Mon Sep 17 00:00:00 2001 From: pax Date: Sat, 11 Apr 2026 17:23:05 -0500 Subject: [PATCH] force Fusion widgets when no custom.qss MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Distro pyside6 builds linked against system Qt pick up the system platform theme plugin (Breeze on KDE, Adwaita-ish on GNOME, etc.), which gave AUR users a different widget style than the source-from-pip build that uses bundled Qt. Force Fusion in the no-custom.qss path so both routes render identically. The inherited palette is intentionally untouched: KDE writes ~/.config/Trolltech.conf which every Qt app reads, so KDE users still get their color scheme — just under Fusion widgets instead of Breeze. --- booru_viewer/gui/app_runtime.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/booru_viewer/gui/app_runtime.py b/booru_viewer/gui/app_runtime.py index 80a592b..ab7f554 100644 --- a/booru_viewer/gui/app_runtime.py +++ b/booru_viewer/gui/app_runtime.py @@ -297,9 +297,16 @@ def run() -> None: except Exception as e: log.warning(f"Operation failed: {e}") else: - # No custom.qss — still install the popout overlay defaults so the - # floating toolbar/controls have a sane background instead of bare - # letterbox color. + # No custom.qss — force Fusion widgets so distro pyside6 builds linked + # against system Qt don't pick up Breeze (or whatever the platform + # theme plugin supplies) and diverge from the bundled-Qt look that + # source-from-pip users get. The inherited palette is intentionally + # left alone: KDE writes ~/.config/Trolltech.conf which every Qt app + # reads, so KDE users still get their color scheme — just under + # Fusion widgets instead of Breeze. + app.setStyle("Fusion") + # Install the popout overlay defaults so the floating toolbar/controls + # have a sane background instead of bare letterbox color. app.setStyleSheet(_BASE_POPOUT_OVERLAY_QSS) # Set app icon (works in taskbar on all platforms)