diff --git a/src/citron/multiplayer/lobby.cpp b/src/citron/multiplayer/lobby.cpp index 658e5e1c5..c30e524d0 100644 --- a/src/citron/multiplayer/lobby.cpp +++ b/src/citron/multiplayer/lobby.cpp @@ -27,10 +27,18 @@ Lobby::Lobby(QWidget* parent, QStandardItemModel* list, std::shared_ptr session, Core::System& system_) - : QDialog(parent, Qt::WindowTitleHint | Qt::WindowCloseButtonHint | Qt::WindowSystemMenuHint), + : QDialog(parent), ui(std::make_unique()), announce_multiplayer_session(session), 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