diff --git a/src/protocols/XDGShell.cpp b/src/protocols/XDGShell.cpp index cbac46b57..916e5c5e7 100644 --- a/src/protocols/XDGShell.cpp +++ b/src/protocols/XDGShell.cpp @@ -7,7 +7,10 @@ #include "../helpers/Monitor.hpp" #include "core/Seat.hpp" #include "core/Compositor.hpp" +#include "desktop/DesktopTypes.hpp" +#include "desktop/Window.hpp" #include "protocols/core/Output.hpp" +#include #include #include @@ -462,6 +465,10 @@ CXDGSurfaceResource::CXDGSurfaceResource(SP resource_, SPm_windows.emplace_back(Desktop::View::CWindow::create(m_self.lock())); + if (RESOURCE->m_parent != nullptr) { + g_pCompositor->m_windows.back()->m_pinned = true; + } + for (auto const& p : m_popups) { if (!p) continue;