force Fusion widgets when no custom.qss

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.
This commit is contained in:
pax 2026-04-11 17:23:05 -05:00
parent af0d8facb8
commit a849b8f900

View File

@ -297,9 +297,16 @@ def run() -> None:
except Exception as e: except Exception as e:
log.warning(f"Operation failed: {e}") log.warning(f"Operation failed: {e}")
else: else:
# No custom.qss — still install the popout overlay defaults so the # No custom.qss — force Fusion widgets so distro pyside6 builds linked
# floating toolbar/controls have a sane background instead of bare # against system Qt don't pick up Breeze (or whatever the platform
# letterbox color. # 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) app.setStyleSheet(_BASE_POPOUT_OVERLAY_QSS)
# Set app icon (works in taskbar on all platforms) # Set app icon (works in taskbar on all platforms)