From 87aed4c039d0bec70cd78c4a8a22c3eeb56bb221 Mon Sep 17 00:00:00 2001 From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com> Date: Thu, 7 Dec 2023 15:55:01 -0500 Subject: [PATCH] misc: fix GTK theme application on Wayland by prioritizing XCB This commit addresses an issue where the GTK theme was not being correctly applied when running our application on Wayland with the Wayland platform plugin. Although the root cause is not entirely clear, it seems related to a known Qt bug (QTBUG-99684). As a workaround, we're setting the `QT_QPA_PLATFORM` environment variable to use XCB with Wayland as a fallback. This ensures that the GTK theme is applied correctly when X11 is available, while still allowing a fallback to Wayland in its absence. Possibly related issue: https://bugreports.qt.io/browse/QTBUG-99684 Gitlab: #1156 Change-Id: I71ef4e39f916d9871134fb0caded8b30bff578fb --- src/app/main.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/app/main.cpp b/src/app/main.cpp index 68bb014b3..d96ef92ba 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -54,6 +54,14 @@ main(int argc, char* argv[]) } setenv("QML_DISABLE_DISK_CACHE", "1", true); + /* + * Not quite sure why the GTK theme is not applied on Wayland when + * using the wayland platform plugin, but we can force XCB to make + * sure it works when X11 is available, otherwise fallback to Wayland. + * Could be related to: https://bugreports.qt.io/browse/QTBUG-99684. + */ + setenv("QT_QPA_PLATFORM", "xcb:wayland", true); + /* * Some GNU/Linux distros, like Zorin OS, set QT_STYLE_OVERRIDE * to force a particular Qt style. This has been fine with Qt5 -- GitLab