File no-x11.patch of Package kwin

diff -ur kwin-6.4.4/src/workspace.cpp kwin-6.4.4-new/src/workspace.cpp
--- kwin-6.4.4/src/workspace.cpp	2025-08-05 18:50:46.000000000 +0800
+++ kwin-6.4.4-new/src/workspace.cpp	2025-08-19 15:57:23.026232308 +0800
@@ -35,7 +35,6 @@
 #include "rules.h"
 #include "screenedge.h"
 #include "scripting/scripting.h"
-#include "syncalarmx11filter.h"
 #include "tiles/tilemanager.h"
 #include "window.h"
 #if KWIN_BUILD_TABBOX
@@ -86,16 +85,6 @@
 namespace KWin
 {
 
-X11EventFilterContainer::X11EventFilterContainer(X11EventFilter *filter)
-    : m_filter(filter)
-{
-}
-
-X11EventFilter *X11EventFilterContainer::filter() const
-{
-    return m_filter;
-}
-
 Workspace *Workspace::_self = nullptr;
 
 Workspace::Workspace()
diff -ur kwin-6.4.4/src/cursor.cpp kwin-6.4.4-new/src/cursor.cpp
--- kwin-6.4.4/src/cursor.cpp	2025-08-05 18:50:46.000000000 +0800
+++ kwin-6.4.4-new/src/cursor.cpp	2025-08-19 15:41:57.427175657 +0800
@@ -122,9 +122,6 @@
     QDBusConnection::sessionBus().connect(QString(), QStringLiteral("/KGlobalSettings"), QStringLiteral("org.kde.KGlobalSettings"),
                                           QStringLiteral("notifyChange"), this, SLOT(slotKGlobalSettingsNotifyChange(int, int)));
 
-    connect(kwinApp(), &Application::x11ConnectionChanged, this, [this]() {
-        m_cursors.clear();
-    });
 }
 
 void Cursor::loadThemeSettings()
diff -ur kwin-6.4.4/src/cursor.h kwin-6.4.4-new/src/cursor.h
--- kwin-6.4.4/src/cursor.h	2025-08-05 18:50:46.000000000 +0800
+++ kwin-6.4.4-new/src/cursor.h	2025-08-19 15:45:12.478187595 +0800
@@ -15,8 +15,7 @@
 #include <QPoint>
 // KF
 #include <KSharedConfig>
-// xcb
-#include <xcb/xcb.h>
+typedef uint32_t xcb_cursor_t;
 
 class QTimer;
 
diff --git a/src/effect/effecthandler.cpp b/src/effect/effecthandler.cpp
index 60e0354ec6..5dace349cd 100644
--- a/src/effect/effecthandler.cpp
+++ b/src/effect/effecthandler.cpp
@@ -40,7 +40,6 @@
 #include "sm.h"
 #include "virtualdesktops.h"
 #include "wayland_server.h"
-#include "window_property_notify_x11_filter.h"
 #include "workspace.h"
 #if KWIN_BUILD_X11
 #include "x11window.h"
--- a/src/effect/effecthandler.h
+++ b/src/effect/effecthandler.h
@@ -76,7 +76,6 @@
 class TabletToolId;
 class Window;
 class WindowItem;
-class WindowPropertyNotifyX11Filter;
 class WorkspaceScene;
 class VirtualDesktop;
 class OpenGlContext;
@@ -1116,7 +1115,6 @@
     WorkspaceScene *m_scene;
     QList<Effect *> m_grabbedMouseEffects;
     EffectLoader *m_effectLoader;
-    std::unique_ptr<WindowPropertyNotifyX11Filter> m_x11WindowPropertyNotify;
 };
 
 /**

diff --git a/src/helpers/killer/killer.cpp b/src/helpers/killer/killer.cpp
index f61e18d864..4b362bccbc 100644
--- a/src/helpers/killer/killer.cpp
+++ b/src/helpers/killer/killer.cpp
@@ -22,9 +22,6 @@
 
 #include <qpa/qplatformwindow_p.h>
 
-#include <private/qtx11extras_p.h>
-#include <xcb/xcb.h>
-
 #include <cerrno>
 #include <csignal>
 #include <memory>
@@ -109,20 +106,13 @@ int main(int argc, char *argv[])
     QString caption = parser.value(windowNameOption);
     QString appname = parser.value(applicationNameOption);
     bool id_ok = false;
-    xcb_window_t wid = XCB_WINDOW_NONE;
     QString windowHandle;
-    if (isX11) {
-        wid = parser.value(widOption).toULong(&id_ok);
-    } else {
-        windowHandle = parser.value(widOption);
-    }
+    windowHandle = parser.value(widOption);
 
     // on Wayland XDG_ACTIVATION_TOKEN is set in the environment.
     bool time_ok = false;
-    xcb_timestamp_t timestamp = parser.value(timestampOption).toULong(&time_ok);
 
-    if (!pid_ok || pid == 0 || ((!id_ok || wid == XCB_WINDOW_NONE) && windowHandle.isEmpty())
-        || (isX11 && (!time_ok || timestamp == XCB_CURRENT_TIME))
+    if (!pid_ok || pid == 0
         || hostname.isEmpty() || caption.isEmpty() || appname.isEmpty()) {
         fprintf(stdout, "%s\n", qPrintable(i18n("This helper utility is not supposed to be called directly.")));
         parser.showHelp(1);
@@ -156,10 +146,6 @@ int main(int argc, char *argv[])
     KGuiItem continueButton = KGuiItem(i18nc("@action:button Terminate app", "&Terminate %1", appname), QStringLiteral("application-exit"));
     KGuiItem cancelButton = KGuiItem(i18nc("@action:button Wait for frozen app to maybe respond again", "&Wait Longer"), QStringLiteral("chronometer"));
 
-    if (isX11) {
-        QX11Info::setAppUserTime(timestamp);
-    }
-
     auto *dialog = new KMessageDialog(KMessageDialog::WarningContinueCancel, question);
     dialog->setAttribute(Qt::WA_DeleteOnClose);
     dialog->setCaption(i18nc("@title:window", "Not Responding"));
@@ -188,13 +174,7 @@ int main(int argc, char *argv[])
     std::unique_ptr<XdgImporter> xdgImporter;
     std::unique_ptr<XdgImported> importedParent;
 
-    if (isX11) {
-        if (QWindow *foreignParent = QWindow::fromWinId(wid)) {
-            dialog->windowHandle()->setTransientParent(foreignParent);
-        }
-    } else {
-        xdgImporter = std::make_unique<XdgImporter>();
-    }
+    xdgImporter = std::make_unique<XdgImporter>();
 
     QObject::connect(dialog, &QDialog::finished, &app, [pid, hostname, isLocal](int result) {
         if (result == KMessageBox::PrimaryAction) {
diff --git a/src/screenedge.h b/src/screenedge.h
index 66bfb8364b..1b84e706d7 100644
--- a/src/screenedge.h
+++ b/src/screenedge.h
@@ -28,7 +28,6 @@
 #include <QRect>
 
 #include <memory>
-#include <xcb/xcb.h>
 
 class QAction;
 class QMouseEvent;
diff --git a/src/window.h b/src/window.h
index 2e7d4c9f15..ed41477f35 100644
--- a/src/window.h
+++ b/src/window.h
@@ -1072,7 +1072,6 @@ public:
      */
     virtual bool dockWantsInput() const;
     void checkWorkspacePosition(QRectF oldGeometry = QRectF(), const VirtualDesktop *oldDesktop = nullptr);
-    virtual xcb_timestamp_t userTime() const;
 
     void keyPressEvent(uint key_code);
 
--- a/src/shadow.h
+++ b/src/shadow.h
@@ -15,8 +15,6 @@
 #include <QObject>
 #include <QRectF>
 
-#include <xcb/xcb.h>
-
 namespace KDecoration3
 {
 class Decoration;
@@ -122,11 +120,9 @@ public Q_SLOTS:
     void geometryChanged();
 
 private:
-    static std::unique_ptr<Shadow> createShadowFromX11(Window *window);
     static std::unique_ptr<Shadow> createShadowFromDecoration(Window *window);
     static std::unique_ptr<Shadow> createShadowFromWayland(Window *window);
     static std::unique_ptr<Shadow> createShadowFromInternalWindow(Window *window);
-    static QList<uint32_t> readX11ShadowProperty(xcb_window_t id);
     bool init(const QList<uint32_t> &data);
     bool init(KDecoration3::Decoration *decoration);
     bool init(const QPointer<ShadowInterface> &shadow);

--- a/src/window.cpp
+++ b/src/window.cpp
@@ -422,11 +422,6 @@
     return c1->belongsToSameApplication(c2, checks);
 }
 
-xcb_timestamp_t Window::userTime() const
-{
-    return XCB_TIME_CURRENT_TIME;
-}
-
 void Window::setSkipSwitcher(bool set)
 {
     set = rules()->checkSkipSwitcher(set);