Use wayland platform plugin on GNOME wayland sessions by default
Qt wayland platform plugin has improved quite a lot and it is now pretty much usable on Gnome. It also improves user experience a lot on HiDPI displays. Pick-to: 6.2 Change-Id: I943e0bb969f384bdc3c603e290ce9c8358b70f63 Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>bb10
parent
2c0bdd38cb
commit
dda7dab827
|
|
@ -1402,16 +1402,9 @@ void QGuiApplicationPrivate::createPlatformIntegration()
|
|||
}
|
||||
|
||||
const bool defaultIsWayland = !defaultIsXcb && platformPluginBase.startsWith("wayland");
|
||||
bool isGnome = false;
|
||||
const QByteArray waylandPlatformName = defaultIsWayland ? platformName : "wayland";
|
||||
if (hasWaylandDisplay || isWaylandSessionType) {
|
||||
const QByteArray currentDesktop = qgetenv("XDG_CURRENT_DESKTOP").toLower();
|
||||
const QByteArray sessionDesktop = qgetenv("XDG_SESSION_DESKTOP").toLower();
|
||||
isGnome = currentDesktop.contains("gnome") || sessionDesktop.contains("gnome");
|
||||
if (isGnome)
|
||||
preferredPlatformOrder.append(waylandPlatformName);
|
||||
else
|
||||
preferredPlatformOrder.prepend(waylandPlatformName);
|
||||
preferredPlatformOrder.prepend(waylandPlatformName);
|
||||
|
||||
if (defaultIsWayland)
|
||||
platformName.clear();
|
||||
|
|
@ -1479,14 +1472,7 @@ void QGuiApplicationPrivate::createPlatformIntegration()
|
|||
argc = j;
|
||||
}
|
||||
|
||||
#if defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN)
|
||||
if ((hasWaylandDisplay || isWaylandSessionType) && isGnome && !platformExplicitlySelected) {
|
||||
qInfo() << "Warning: Ignoring WAYLAND_DISPLAY on Gnome."
|
||||
<< "Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.";
|
||||
}
|
||||
#else
|
||||
Q_UNUSED(platformExplicitlySelected);
|
||||
#endif
|
||||
|
||||
init_platform(QLatin1String(platformName), platformPluginPath, platformThemeName, argc, argv);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue