From 2452c9ee9ba034bdca44fdd2ce3e60fe17e06224 Mon Sep 17 00:00:00 2001 From: Collecting Date: Sun, 4 Jan 2026 18:32:02 +0000 Subject: [PATCH] fix(overhaul): UI and resolution bugs for Steam Deck (Gamescope) Signed-off-by: Collecting --- src/citron/updater/updater_dialog.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/citron/updater/updater_dialog.cpp b/src/citron/updater/updater_dialog.cpp index 60218add3..664f9bdca 100644 --- a/src/citron/updater/updater_dialog.cpp +++ b/src/citron/updater/updater_dialog.cpp @@ -220,9 +220,16 @@ void UpdaterDialog::OnRestartButtonClicked() { } void UpdaterDialog::SetupUI() { - setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); + const bool is_gamescope = !qgetenv("GAMESCOPE_WIDTH").isEmpty() || qgetenv("XDG_CURRENT_DESKTOP") == "gamescope"; - setMinimumSize(size()); + if (is_gamescope) { + // Force as a top-level window so Gamescope centers it correctly at 800p + setWindowFlags(Qt::Window | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::WindowStaysOnTopHint); + // Do NOT set a minimum size based on desktop hints, let the layout work + } else { + setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); + setMinimumSize(size()); + } ui->currentVersionValue->setText(QString::fromStdString(updater_service->GetCurrentVersion())); ui->appImageSelectorLabel->setVisible(false);