diff --git a/src/core/shellhandler.cpp b/src/core/shellhandler.cpp
index 6f4f76a6..fbc6c5dd 100644
--- a/src/core/shellhandler.cpp
+++ b/src/core/shellhandler.cpp
@@ -97,6 +97,12 @@ WXWayland *ShellHandler::createXWayland(WServer *server,
     m_xwaylands.append(xwayland);
     xwayland->setSeat(seat);
     connect(xwayland, &WXWayland::surfaceAdded, this, &ShellHandler::onXWaylandSurfaceAdded);
+    connect(xwayland, &WXWayland::ready, xwayland, [xwayland]{
+        auto atomPid = xwayland->atom("_NET_WM_PID");
+        xwayland->setAtomSupported(atomPid, true);
+        auto atomNoTitlebar = xwayland->atom("_DEEPIN_NO_TITLEBAR");
+        xwayland->setAtomSupported(atomNoTitlebar, true);
+    });
     return xwayland;
 }