From cff86c2f039c1bb6d2c38ec3920b538e13f205af Mon Sep 17 00:00:00 2001 From: Collecting Date: Sun, 4 Jan 2026 18:38:19 +0000 Subject: [PATCH] fix(overhaul): UI and resolution bugs for Steam Deck (Gamescope) Signed-off-by: Collecting --- src/citron/multiplayer/direct_connect.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/citron/multiplayer/direct_connect.cpp b/src/citron/multiplayer/direct_connect.cpp index eafd964b4..e89a1d043 100644 --- a/src/citron/multiplayer/direct_connect.cpp +++ b/src/citron/multiplayer/direct_connect.cpp @@ -1,4 +1,5 @@ // SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project +// SPDX-FileCopyrightText: Copyright 2026 citron Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include @@ -24,10 +25,17 @@ enum class ConnectionType : u8 { TraversalServer, IP }; DirectConnectWindow::DirectConnectWindow(Core::System& system_, QWidget* parent) - : QDialog(parent, Qt::WindowTitleHint | Qt::WindowCloseButtonHint | Qt::WindowSystemMenuHint), + : QDialog(parent), ui(std::make_unique()), system{system_}, room_network{ system.GetRoomNetwork()} { + const bool is_gamescope = !qgetenv("GAMESCOPE_WIDTH").isEmpty() || qgetenv("XDG_CURRENT_DESKTOP") == "gamescope"; + if (is_gamescope) { + setWindowFlags(Qt::Window | Qt::WindowTitleHint | Qt::WindowStaysOnTopHint); + } else { + setWindowFlags(Qt::WindowTitleHint | Qt::WindowCloseButtonHint | Qt::WindowSystemMenuHint); + } + ui->setupUi(this); // setup the watcher for background connections