Default to borderless windowed mode on Wayland systems

This commit is contained in:
Cameron Gutman
2022-05-19 19:22:01 -05:00
parent 56f184393f
commit 0001bb0e4c
+15 -3
View File
@@ -1,4 +1,5 @@
#include "streamingpreferences.h" #include "streamingpreferences.h"
#include "utils.h"
#include <QSettings> #include <QSettings>
#include <QTranslator> #include <QTranslator>
@@ -44,7 +45,7 @@
#define SER_KEEPAWAKE "keepawake" #define SER_KEEPAWAKE "keepawake"
#define SER_LANGUAGE "language" #define SER_LANGUAGE "language"
#define CURRENT_DEFAULT_VER 1 #define CURRENT_DEFAULT_VER 2
StreamingPreferences::StreamingPreferences(QObject *parent) StreamingPreferences::StreamingPreferences(QObject *parent)
: QObject(parent), : QObject(parent),
@@ -69,7 +70,13 @@ void StreamingPreferences::reload()
#ifdef Q_OS_DARWIN #ifdef Q_OS_DARWIN
recommendedFullScreenMode = WindowMode::WM_FULLSCREEN_DESKTOP; recommendedFullScreenMode = WindowMode::WM_FULLSCREEN_DESKTOP;
#else #else
recommendedFullScreenMode = WindowMode::WM_FULLSCREEN; // Wayland doesn't support modesetting, so use fullscreen desktop mode.
if (WMUtils::isRunningWayland()) {
recommendedFullScreenMode = WindowMode::WM_FULLSCREEN_DESKTOP;
}
else {
recommendedFullScreenMode = WindowMode::WM_FULLSCREEN;
}
#endif #endif
width = settings.value(SER_WIDTH, 1280).toInt(); width = settings.value(SER_WIDTH, 1280).toInt();
@@ -117,7 +124,7 @@ void StreamingPreferences::reload()
// Perform default settings updates as required based on last default version // Perform default settings updates as required based on last default version
if (defaultVer == 0) { if (defaultVer < 1) {
#ifdef Q_OS_DARWIN #ifdef Q_OS_DARWIN
// Update window mode setting on macOS from full-screen (old default) to borderless windowed (new default) // Update window mode setting on macOS from full-screen (old default) to borderless windowed (new default)
if (windowMode == WindowMode::WM_FULLSCREEN) { if (windowMode == WindowMode::WM_FULLSCREEN) {
@@ -125,6 +132,11 @@ void StreamingPreferences::reload()
} }
#endif #endif
} }
if (defaultVer < 2) {
if (windowMode == WindowMode::WM_FULLSCREEN && WMUtils::isRunningWayland()) {
windowMode = WindowMode::WM_FULLSCREEN_DESKTOP;
}
}
} }
bool StreamingPreferences::retranslate() bool StreamingPreferences::retranslate()