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