Date: Tuesday, August 30, 2022 @ 08:26:28
  Author: felixonmars
Revision: 1288430

upgpkg: deepin-kwin 5.5.11-1

Modified:
  deepin-kwin/trunk/PKGBUILD
Deleted:
  deepin-kwin/trunk/dde-kwin.5.4.26.patch
  deepin-kwin/trunk/deepin-kwin-added-functions-from-their-forked-kwin.patch

----------------------------------------------------------+
 PKGBUILD                                                 |   27 
 dde-kwin.5.4.26.patch                                    |  805 -------------
 deepin-kwin-added-functions-from-their-forked-kwin.patch |  133 --
 3 files changed, 10 insertions(+), 955 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-08-30 08:25:12 UTC (rev 1288429)
+++ PKGBUILD    2022-08-30 08:26:28 UTC (rev 1288430)
@@ -3,8 +3,8 @@
 # Contributor: Xu Fasheng <fasheng.xu[AT]gmail.com>
 
 pkgname=deepin-kwin
-pkgver=5.4.26
-pkgrel=3
+pkgver=5.5.11
+pkgrel=1
 pkgdesc='KWin configures on DDE'
 arch=('x86_64')
 url="https://github.com/linuxdeepin/dde-kwin";
@@ -11,30 +11,23 @@
 license=('GPL3')
 depends=('deepin-qt5integration' 'deepin-wallpapers' 'kwin')
 makedepends=('extra-cmake-modules' 'ninja' 'qt5-tools')
-source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxdeepin/dde-kwin/archive/$pkgver.tar.gz";
-        $pkgname-tabbox-chameleon-rename.patch
-        $pkgname-added-functions-from-their-forked-kwin.patch
-        dde-kwin.5.4.26.patch)
-sha512sums=('0ce42973d5c4fb861e758f27b7afc3ebe3c743b7157b527c08771bc5d624e124914fbc92ad9e1a9845cc8d302f83352d6991cb287bf2447dbab6a2e87013809c'
-            
'454889eaaf48f0e329d6cde870f57dd25dc1f9f88ade234fdb058249c5a9602fdd43dbfffe7c79c0d05843cec500285e719233bf1b4141c32b387bd1c86e02d7'
-            
'5ba72bb39469f77895a171eb49e787d5045df422c4b9937e85362d022d680710c13c6dd526456df34dc151b1f01101dbc08ad53cd31fbaf069b0bfb84f0ea07d'
-            
'4186adebecc65e8586c7c7594557bc5421a9884a789052b0270007a4268cc0ea017357fce7de61c7a4e78ee59432f68561f9003d9ea37cd47e79b25cfa08e2f2')
+source=("$pkgname-$pkgver-deepin.tar.gz::https://github.com/linuxdeepin/dde-kwin/archive/$pkgver-deepin.tar.gz";
+        $pkgname-tabbox-chameleon-rename.patch)
+sha512sums=('0f401842f3f20b31a3527bd480af2a62dbafc10a0d7c3fae6cf5ef088184c5470b177ab641e8496c375ad982bf1649fbaa0e10cfe19532d44a227fa87c7e4d3b'
+            
'454889eaaf48f0e329d6cde870f57dd25dc1f9f88ade234fdb058249c5a9602fdd43dbfffe7c79c0d05843cec500285e719233bf1b4141c32b387bd1c86e02d7')
 
 prepare() {
-  cd dde-kwin-$pkgver
+  cd dde-kwin-$pkgver-deepin
   sed -i 
's|/usr/share/backgrounds/default_background.jpg|/usr/share/backgrounds/deepin/desktop.jpg|'
 plugins/kwineffects/multitasking/background.cpp
-  patch -p1 -i ../dde-kwin.5.4.26.patch
-  patch -Rp1 -i ../$pkgname-added-functions-from-their-forked-kwin.patch
   patch -p1 -i ../$pkgname-tabbox-chameleon-rename.patch
-  sed -i 's/kwin 5.21.5/kwin 5.24.4/' configures/kwin_no_scale.in
 }
 
 build() {
-  cd dde-kwin-$pkgver
+  cd dde-kwin-$pkgver-deepin
   cmake . -GNinja -DCMAKE_INSTALL_PREFIX=/usr \
           -DUSE_WINDOW_TOOL=OFF \
+          -DENABLE_KDECORATION=ON \
           -DENABLE_BUILTIN_BLUR=OFF \
-          -DENABLE_KDECORATION=ON \
           -DENABLE_BUILTIN_MULTITASKING=OFF \
           -DENABLE_BUILTIN_BLACK_SCREEN=OFF \
           -DUSE_DEEPIN_WAYLAND=OFF
@@ -42,6 +35,6 @@
 }
 
 package() {
-  cd dde-kwin-$pkgver
+  cd dde-kwin-$pkgver-deepin
   DESTDIR="$pkgdir" ninja install
 }

Deleted: dde-kwin.5.4.26.patch
===================================================================
--- dde-kwin.5.4.26.patch       2022-08-30 08:25:12 UTC (rev 1288429)
+++ dde-kwin.5.4.26.patch       2022-08-30 08:26:28 UTC (rev 1288430)
@@ -1,805 +0,0 @@
-commit df1937194c07b850425bd047ed4fc8a8986b0609
-Author: justforlxz <justfor...@gmail.com>
-Date:   Wed Apr 6 20:24:55 2022 +0800
-
-    refactor: scissor-window
-    
-    Adapt to kwin 4.24
-    
-    Log: Adapt to kwin 4.24
-    Change-Id: I5da82f2b20cfc6ed165e2e0559fa556624de1d77
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cbbf79e0c..60c2f3cd8 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -15,6 +15,26 @@ add_definitions(
-     -DPROJECT_VERSION=\\"${PROJECT_VERSION}\\"
- )
- 
-+option(USE_PLUGINS "use dde-kwin plugins" ON)
-+option(USE_SCRIPTS "use scripts" ON)
-+option(USE_DEEPIN_WM_DBUS "use deepin-wm dbus service" ON)
-+option(USE_TABBOX "use deepin style tabbox" ON)
-+option(USE_WINDOW_TOOL "support wayland and x11" ON)
-+option(USE_DEEPIN_WAYLAND "use deepin wayland" ON)
-+option(USE_KWIN_NO_SCALE "use kwin_no_scale script" ON)
-+option(ENABLE_BUILTIN_SCISSOR_WINDOW "enable deepin built-in scissor window 
plugin" ON)
-+option(ENABLE_BUILTIN_BLUR "enable deepin built-in blur plugin" ON)
-+option(ENABLE_BUILTIN_MULTITASKING "enable deepin built-in multitasking 
plugin" ON)
-+option(ENABLE_BUILTIN_BLACK_SCREEN "enable deepin built-in black screen 
plugin" ON)
-+
-+if(ENABLE_BUILTIN_BLUR)
-+     add_definitions(-DENABLE_BUILTIN_BLUR)
-+endif(ENABLE_BUILTIN_BLUR)
-+
-+if (USE_DEEPIN_WAYLAND)
-+    add_definitions(-DUSE_DEEPIN_WAYLAND)
-+endif(USE_DEEPIN_WAYLAND)
-+
- #when "KWIN_VERSION > KWIN_VERSION_CHECK(5, 18, 90, 0)"
- find_path(
-     KWaylandServerPath
-@@ -91,14 +111,28 @@ if (KWIN_VERSION)
-     )
- endif()
- 
--add_subdirectory(configures)
--set(DDE_KWIN_SUPPORTED_VERSION "5.21.5")
--if (${KWIN_VERSION} STRLESS ${DDE_KWIN_SUPPORTED_VERSION} OR  ${KWIN_VERSION} 
STREQUAL ${DDE_KWIN_SUPPORTED_VERSION})
--    add_subdirectory(plugins)
--    add_subdirectory(scripts)
--    add_subdirectory(deepin-wm-dbus)
--    add_subdirectory(tabbox)
--    if (BUILD_TESTING)
--        add_subdirectory(tests)
--    endif()
-+if (USE_PLUGINS)
-+  add_subdirectory(plugins)
-+endif()
-+
-+if (USE_SCRIPTS)
-+  add_subdirectory(scripts)
-+endif()
-+
-+if (USE_DEEPIN_WM_DBUS)
-+  add_subdirectory(deepin-wm-dbus)
- endif()
-+
-+if (USE_TABBOX)
-+add_subdirectory(tabbox)
-+endif()
-+
-+if (BUILD_TESTING)
-+    add_subdirectory(tests)
-+endif()
-+
-+if (USE_WINDOW_TOOL)
-+  add_subdirectory(windowtool)
-+endif()
-+
-+add_subdirectory(configures)
-diff --git a/configures/CMakeLists.txt b/configures/CMakeLists.txt
-index 4ac0a906d..99e0d0970 100644
---- a/configures/CMakeLists.txt
-+++ b/configures/CMakeLists.txt
-@@ -1,9 +1,17 @@
- configure_file(kwin_no_scale.in kwin_no_scale)
- 
-+if(ENABLE_BUILTIN_BLUR)
-+     set(ENABLE_BUILTIN_BLUR_STRING "false")
-+ else()
-+     set(ENABLE_BUILTIN_BLUR_STRING "true")
-+ endif()
-+
-+configure_file(kwinrc.in kwinrc)
-+
- install(
-     FILES
-     kglobalshortcutsrc
--    kwinrc
-+    ${CMAKE_CURRENT_BINARY_DIR}/kwinrc
-     kwinrulesrc
-     klaunchrc
-     kdeglobals
-@@ -11,4 +19,9 @@ install(
-     "/etc/xdg"
- )
- 
--install_files("/bin" FILES ${CMAKE_CURRENT_BINARY_DIR}/kwin_no_scale)
-+if (USE_KWIN_NO_SCALE)
-+    configure_file(kwin_no_scale.in kwin_no_scale)
-+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kwin_no_scale
-+            DESTINATION bin
-+            PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_READ 
GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
-+endif()
-diff --git a/configures/kwin_no_scale.in b/configures/kwin_no_scale.in
-old mode 100755
-new mode 100644
-index d34aba1f7..8b4a5b18a
---- a/configures/kwin_no_scale.in
-+++ b/configures/kwin_no_scale.in
-@@ -1,20 +1,19 @@
--#!/bin/sh
--
--KWIN_VERSION=`kwin_x11 --version 2>/dev/null`
--DDE_KWIN_SUPPORTED_VERSION='kwin 5.21.5'
--if [ "$KWIN_VERSION" \> "$DDE_KWIN_SUPPORTED_VERSION" ]; then
--    kwin_x11 $@
--    exit 0
--fi
-+#!/bin/bash
- 
- if [ -n "$HOME" ];then
-     cp -n /etc/xdg/kglobalshortcutsrc $HOME/.config/kglobalshortcutsrc
- fi
- 
--EXECUTE_PATH=$(cd `dirname $0`; pwd)
-+ARGS=$@
-+
-+function runDeepinKWin() {
-+    local EXECUTE_PATH=$1
-+    export LD_PRELOAD=${PLUGIN_INSTALL_PATH}/libdde-kwin-xcb.so:$LD_PRELOAD
-+    export QT_SCALE_FACTOR=1
-+    #":"后的"appFilePath=..."会传递给QPlatformIntegration::create调用
-+    # appFilePath 的值会覆盖 
QCoreApplication::applicationPath,以确保kwin崩溃自动重启时也是启动的kwin_no_scale脚本
-+    kwin_x11 -platform dde-kwin-xcb:appFilePath=$EXECUTE_PATH/kwin_no_scale 
$ARGS
-+    return $?
-+}
- 
--export "LD_PRELOAD=${PLUGIN_INSTALL_PATH}/libdde-kwin-xcb.so:$LD_PRELOAD"
--export QT_SCALE_FACTOR=1
--#":"后的"appFilePath=..."会传递给QPlatformIntegration::create调用
--# appFilePath 的值会覆盖 
QCoreApplication::applicationPath,以确保kwin崩溃自动重启时也是启动的kwin_no_scale脚本
--kwin_x11 -platform dde-kwin-xcb:appFilePath=$EXECUTE_PATH/kwin_no_scale $@
-+runDeepinKWin "$(cd `dirname $0`; pwd)" || kwin_x11 $ARGS
-diff --git a/configures/kwinrc b/configures/kwinrc.in
-similarity index 98%
-rename from configures/kwinrc
-rename to configures/kwinrc.in
-index c1fde055b..3d73073e5 100644
---- a/configures/kwinrc
-+++ b/configures/kwinrc.in
-@@ -1,6 +1,6 @@
- [Plugins]
- #默认使用com.deepin.blur
--blurEnabled=false
-+blurEnabled=@ENABLE_BUILTIN_BLUR_STRING@
- enforcedecoEnabled=false
- minimizeallEnabled=true
- kwin4_effect_dialogparentEnabled=false
-diff --git a/deepin-wm-dbus/CMakeLists.txt b/deepin-wm-dbus/CMakeLists.txt
-index 3312af1d9..3807bc8f9 100644
---- a/deepin-wm-dbus/CMakeLists.txt
-+++ b/deepin-wm-dbus/CMakeLists.txt
-@@ -3,6 +3,7 @@ set(TARGET_NAME "deepin-wm-dbus")
- 
- find_package(Qt5Core REQUIRED)
- find_package(Qt5DBus REQUIRED)
-+find_package(X11 REQUIRED)
- find_package(KF5Config REQUIRED)
- find_package(KF5WindowSystem REQUIRED)
- find_package(KF5GlobalAccel REQUIRED)
-diff --git a/plugins/kdecoration/CMakeLists.txt 
b/plugins/kdecoration/CMakeLists.txt
-index 0a34ea25d..60196cf37 100644
---- a/plugins/kdecoration/CMakeLists.txt
-+++ b/plugins/kdecoration/CMakeLists.txt
-@@ -5,6 +5,7 @@ add_definitions(-DTARGET_NAME=\\"${TARGET_NAME}\\")
- find_package(Qt5 CONFIG REQUIRED COMPONENTS Core)
- find_package(KF5CoreAddons REQUIRED)
- find_package(Qt5DBus REQUIRED)
-+find_package(X11 REQUIRED)
- find_package(KF5Config REQUIRED)
- find_package(KF5WindowSystem REQUIRED)
- find_package(KDecoration2 REQUIRED)
-diff --git a/plugins/kdecoration/chameleon.cpp 
b/plugins/kdecoration/chameleon.cpp
-index 6896edbde..289b9c3cc 100644
---- a/plugins/kdecoration/chameleon.cpp
-+++ b/plugins/kdecoration/chameleon.cpp
-@@ -80,6 +80,7 @@ void Chameleon::init()
-     updateTheme();
- 
-     if (!QX11Info::isPlatformX11() && m_client) {
-+#ifdef USE_DEEPIN_WAYLAND
-         m_ddeShellSurface = 
static_cast<KWayland::Server::DDEShellSurfaceInterface*>(KWinUtils::getDDEShellSurface(m_client));
-         if (m_ddeShellSurface) {
-             connect(m_ddeShellSurface, 
&KWayland::Server::DDEShellSurfaceInterface::noTitleBarPropertyRequested, this,
-@@ -102,6 +103,7 @@ void Chameleon::init()
-                 }
-             );
-         }
-+#endif
-     }
- 
-     connect(global_config, &ChameleonConfig::themeChanged, this, 
&Chameleon::updateTheme);
-diff --git a/plugins/kdecoration/chameleon.h b/plugins/kdecoration/chameleon.h
-index 6bfde0b16..4eed1e543 100644
---- a/plugins/kdecoration/chameleon.h
-+++ b/plugins/kdecoration/chameleon.h
-@@ -33,7 +33,11 @@
- #include <QSettings>
- #include <QScreen>
- #include <QPainterPath>
-+#include <QFont>
-+
-+#ifdef USE_DEEPIN_WAYLAND
- #include <KWayland/Server/ddeshell_interface.h>
-+#endif
- 
- class Settings;
- class ChameleonWindowTheme;
-@@ -124,7 +128,10 @@ private:
- 
-     QPointer<KWin::EffectWindow> m_effect;
-     QFont m_font;
-+
-+#ifdef USE_DEEPIN_WAYLAND
-     KWayland::Server::DDEShellSurfaceInterface * m_ddeShellSurface = nullptr;
-+#endif
- };
- 
- #endif // CHAMELEON_H
-diff --git a/plugins/kdecoration/chameleonconfig.cpp 
b/plugins/kdecoration/chameleonconfig.cpp
-index 8b6a03b8e..3a12e93a1 100644
---- a/plugins/kdecoration/chameleonconfig.cpp
-+++ b/plugins/kdecoration/chameleonconfig.cpp
-@@ -141,7 +141,7 @@ void ChameleonConfig::onConfigChanged()
- }
- 
- #define D_KWIN_DEBUG_APP_START_TIME "D_KWIN_DEBUG_APP_START_TIME"
--void ChameleonConfig::onClientAdded(KWin::Client *client)
-+void ChameleonConfig::onClientAdded(KWin::AbstractClient *client)
- {
-     QObject *c = reinterpret_cast<QObject*>(client);
- 
-@@ -905,7 +905,7 @@ void ChameleonConfig::init()
- {
- #ifndef DISBLE_DDE_KWIN_XCB
-     connect(KWinUtils::workspace(), SIGNAL(configChanged()), this, 
SLOT(onConfigChanged()));
--    connect(KWinUtils::workspace(), SIGNAL(clientAdded(KWin::Client*)), this, 
SLOT(onClientAdded(KWin::Client*)));
-+    connect(KWinUtils::workspace(), 
SIGNAL(clientAdded(KWin::AbstractClient*)), this, 
SLOT(onClientAdded(KWin::AbstractClient*)));
-     connect(KWinUtils::workspace(), SIGNAL(unmanagedAdded(KWin::Unmanaged*)), 
this, SLOT(onUnmanagedAdded(KWin::Unmanaged*)));
-     connect(KWinUtils::compositor(), SIGNAL(compositingToggled(bool)), this, 
SLOT(onCompositingToggled(bool)));
-     connect(KWinUtils::instance(), &KWinUtils::windowPropertyChanged, this, 
&ChameleonConfig::onWindowPropertyChanged);
-@@ -1225,7 +1225,11 @@ void ChameleonConfig::buildKWinX11Shadow(QObject 
*window)
-         effect = window->findChild<KWin::EffectWindow*>(QString(), 
Qt::FindDirectChildrenOnly);
- 
-         if (effect) {
--            QRect shape_rect = effect->shape().boundingRect();
-+#if !defined(KWIN_VERSION) || KWIN_VERSION < KWIN_VERSION_CHECK(5, 23, 4, 0)
-+            QRect shape_rect = effect->geometry();
-+#else
-+            QRect shape_rect = effect->clientGeometry();
-+#endif
-             const QRect window_rect(QPoint(0, 0), 
window->property("size").toSize());
- 
-             // 减去窗口的shape区域
-diff --git a/plugins/kdecoration/chameleonconfig.h 
b/plugins/kdecoration/chameleonconfig.h
-index b9408267e..be5a48b9a 100644
---- a/plugins/kdecoration/chameleonconfig.h
-+++ b/plugins/kdecoration/chameleonconfig.h
-@@ -38,7 +38,7 @@
- #define _NET_WM_WINDOW_TYPE "_NET_WM_WINDOW_TYPE"
- 
- namespace KWin {
--class Client;
-+class AbstractClient;
- class Unmanaged;
- class EffectWindow;
- class Toplevel;
-@@ -93,7 +93,7 @@ protected:
- 
- private slots:
-     void onConfigChanged();
--    void onClientAdded(KWin::Client *client);
-+    void onClientAdded(KWin::AbstractClient *client);
-     // 针对X11BypassWindowManagerHint类型的窗口需要做一些特殊处理
-     void onUnmanagedAdded(KWin::Unmanaged *client);
-     void onCompositingToggled(bool active);
-diff --git a/plugins/kwineffects/CMakeLists.txt 
b/plugins/kwineffects/CMakeLists.txt
-index 9832df92a..5a6036896 100644
---- a/plugins/kwineffects/CMakeLists.txt
-+++ b/plugins/kwineffects/CMakeLists.txt
-@@ -1,10 +1,22 @@
- find_package(Qt5 CONFIG REQUIRED COMPONENTS Core Gui)
-+find_package(X11 REQUIRED)
- find_package(KF5CoreAddons REQUIRED)
- find_package(KF5WindowSystem REQUIRED)
- 
- set(INSTALL_PATH "${QT_INSTALL_PLUGINS}/kwin/effects/plugins")
- 
--add_subdirectory(scissor-window)
--add_subdirectory(blur)
--add_subdirectory(multitasking)
--add_subdirectory(black-screen)
-+if (ENABLE_BUILTIN_SCISSOR_WINDOW)
-+    add_subdirectory(scissor-window)
-+endif()
-+
-+if (ENABLE_BUILTIN_BLUR)
-+    add_subdirectory(blur)
-+endif()
-+
-+if (ENABLE_BUILTIN_MULTITASKING)
-+    add_subdirectory(multitasking)
-+endif()
-+
-+if (ENABLE_BUILTIN_BLACK_SCREEN)
-+    add_subdirectory(black-screen)
-+endif()
-diff --git a/plugins/kwineffects/scissor-window/cornermask.frag.140 
b/plugins/kwineffects/scissor-window/cornermask.frag
-similarity index 100%
-rename from plugins/kwineffects/scissor-window/cornermask.frag.140
-rename to plugins/kwineffects/scissor-window/cornermask.frag
-diff --git a/plugins/kwineffects/scissor-window/cornermask.frag.110 
b/plugins/kwineffects/scissor-window/cornermask_core.frag
-similarity index 100%
-rename from plugins/kwineffects/scissor-window/cornermask.frag.110
-rename to plugins/kwineffects/scissor-window/cornermask_core.frag
-diff --git a/plugins/kwineffects/scissor-window/fullmask.frag.140 
b/plugins/kwineffects/scissor-window/fullmask.frag
-similarity index 100%
-rename from plugins/kwineffects/scissor-window/fullmask.frag.140
-rename to plugins/kwineffects/scissor-window/fullmask.frag
-diff --git a/plugins/kwineffects/scissor-window/fullmask.frag.110 
b/plugins/kwineffects/scissor-window/fullmask_core.frag
-similarity index 100%
-rename from plugins/kwineffects/scissor-window/fullmask.frag.110
-rename to plugins/kwineffects/scissor-window/fullmask_core.frag
-diff --git a/plugins/kwineffects/scissor-window/glsl.qrc 
b/plugins/kwineffects/scissor-window/glsl.qrc
-index 8b2ecb6f3..2e6bc448d 100644
---- a/plugins/kwineffects/scissor-window/glsl.qrc
-+++ b/plugins/kwineffects/scissor-window/glsl.qrc
-@@ -1,10 +1,16 @@
- <RCC>
-+    <qresource prefix="/">
-+        <file>cornermask_core.frag</file>
-+        <file>fullmask_core.frag</file>
-+        <file>cornermask.frag</file>
-+        <file>fullmask.frag</file>
-+    </qresource>
-     <qresource prefix="/effect-shaders-1.10">
--        <file alias="corner-mask.frag">cornermask.frag.110</file>
--        <file alias="full-mask.frag">fullmask.frag.110</file>
-+        <file alias="cornermask.frag">cornermask_core.frag</file>
-+        <file alias="fullmask.frag">fullmask_core.frag</file>
-     </qresource>
-     <qresource prefix="/effect-shaders-1.40">
--        <file alias="corner-mask.frag">cornermask.frag.140</file>
--        <file alias="full-mask.frag">fullmask.frag.140</file>
-+        <file alias="cornermask.frag">cornermask.frag</file>
-+        <file alias="fullmask.frag">fullmask.frag</file>
-     </qresource>
- </RCC>
-diff --git a/plugins/kwineffects/scissor-window/main.cpp 
b/plugins/kwineffects/scissor-window/main.cpp
-index 73544556c..8d9659e19 100644
---- a/plugins/kwineffects/scissor-window/main.cpp
-+++ b/plugins/kwineffects/scissor-window/main.cpp
-@@ -23,19 +23,27 @@
- class ScissorWindowPluginFactory : public KWin::EffectPluginFactory
- {
-     Q_OBJECT
--    Q_INTERFACES(KPluginFactory)
-+#if KWIN_VERSION_MAJ <= 5 && KWIN_VERSION_MIN < 23
-     Q_PLUGIN_METADATA(IID KPluginFactory_iid FILE "scissor-window.json")
--
-+#else
-+    Q_PLUGIN_METADATA(IID EffectPluginFactory_iid FILE "scissor-window.json")
-+#endif
-+    Q_INTERFACES(KPluginFactory)
- public:
--    explicit ScissorWindowPluginFactory();
--    ~ScissorWindowPluginFactory();
-+    explicit ScissorWindowPluginFactory() {}
-+    ~ScissorWindowPluginFactory() {}
- 
--    KWin::Effect *createEffect() const {
--        return ScissorWindow::supported() ? new ScissorWindow() : nullptr;
-+    bool isSupported() const override {
-+        return ScissorWindow::supported();
-     }
--};
- 
--K_PLUGIN_FACTORY_DEFINITION(ScissorWindowPluginFactory, 
registerPlugin<ScissorWindow>();)
--K_EXPORT_PLUGIN_VERSION(KWIN_EFFECT_API_VERSION)
-+    bool enabledByDefault() const override {
-+        return true;
-+    }
-+
-+    KWin::Effect *createEffect() const override {
-+        return new ScissorWindow;
-+    }
-+};
- 
- #include "main.moc"
-diff --git a/plugins/kwineffects/scissor-window/scissor-window.json 
b/plugins/kwineffects/scissor-window/scissor-window.json
-index e2ebdc65d..56522ecd1 100644
---- a/plugins/kwineffects/scissor-window/scissor-window.json
-+++ b/plugins/kwineffects/scissor-window/scissor-window.json
-@@ -4,6 +4,10 @@
-             {
-                 "Email": "zc...@live.com",
-                 "Name": "zccrs"
-+            },
-+            {
-+                "Email": "l...@mkacg.com",
-+                "Name": "justforlxz"
-             }
-         ],
-         "Description": "Allow clip of window content",
-@@ -15,8 +19,15 @@
-         "ServiceTypes": [
-             "KWin/Effect"
-         ],
--        "org.kde.kwin.effect": {
--            "exclusiveGroup": "appearance"
--        }
--    }
-+        "Category": "Appearance",
-+        "License": "GPL",
-+        "Version": "1.0"
-+    },
-+    "org.kde.kwin.effect": {
-+        "exclusiveGroup": "appearance",
-+        "enabledByDefaultMethod": true
-+    },
-+    "X-KDE-Ordering": "5",
-+    "X-Plasma-API": "",
-+    "X-Plasma-MainScript": ""
- }
-diff --git a/plugins/kwineffects/scissor-window/scissorwindow.cpp 
b/plugins/kwineffects/scissor-window/scissorwindow.cpp
-index a80118421..4785c1f22 100644
---- a/plugins/kwineffects/scissor-window/scissorwindow.cpp
-+++ b/plugins/kwineffects/scissor-window/scissorwindow.cpp
-@@ -19,10 +19,6 @@
-  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
-  */
- #include "scissorwindow.h"
--#ifndef DISBLE_DDE_KWIN_XCB
--#include "kwinutils.h"
--#endif
--
- #include <kwinglutils.h>
- #include <kwinglplatform.h>
- #include <kwingltexture.h>
-@@ -32,6 +28,7 @@
- #include <QExplicitlySharedDataPointer>
- #include <QSignalBlocker>
- #include <QPainterPath>
-+#include <QScopedPointer>
- 
- Q_DECLARE_METATYPE(QPainterPath)
- 
-@@ -178,16 +175,24 @@ ScissorWindow::ScissorWindow(QObject *, const 
QVariantList &)
-     : Effect()
- {
-     // 构建用于窗口圆角特效的着色器
--    m_shader = 
KWin::ShaderManager::instance()->generateShaderFromResources(KWin::ShaderTrait::MapTexture,
 QString(), "corner-mask.frag");
-+#if KWIN_VERSION_MAJ <= 5 && KWIN_VERSION_MIN < 23
-+    m_shader = 
KWin::ShaderManager::instance()->generateShaderFromResources(KWin::ShaderTrait::MapTexture,
 QString(), ":/cornermask.frag");
-+#else
-+    m_shader = 
KWin::ShaderManager::instance()->generateShaderFromFile(KWin::ShaderTrait::MapTexture,
 QString(), ":/cornermask.frag");
-+#endif
-     // 构建用于自定义窗口形状的着色器
--    m_fullMaskShader = 
KWin::ShaderManager::instance()->generateShaderFromResources(KWin::ShaderTrait::MapTexture,
 QString(), "full-mask.frag");
-+#if KWIN_VERSION_MAJ <= 5 && KWIN_VERSION_MIN < 23
-+    m_fullMaskShader = 
KWin::ShaderManager::instance()->generateShaderFromResources(KWin::ShaderTrait::MapTexture,
 QString(), ":/fullmask.frag");
-+#else
-+    m_fullMaskShader = 
KWin::ShaderManager::instance()->generateShaderFromFile(KWin::ShaderTrait::MapTexture,
 QString(), ":/fullmask.frag");
-+#endif
- 
-     if (!m_shader->isValid()) {
--        // qWarning() << Q_FUNC_INFO << "Invalid fragment shader of corner 
mask";
-+        qWarning() << Q_FUNC_INFO << "Invalid fragment shader of corner mask";
-     }
- 
-     if (!m_fullMaskShader->isValid()) {
--        // qWarning() << Q_FUNC_INFO << "Invalid fragment shader of full 
mask";
-+        qWarning() << Q_FUNC_INFO << "Invalid fragment shader of full mask";
-     }
- }
- 
-@@ -205,6 +210,10 @@ void ScissorWindow::drawWindow(KWin::EffectWindow *w, int 
mask, QRegion region,
-         return Effect::drawWindow(w, mask, region, data);
-     }
- 
-+    if (KWin::effects->hasActiveFullScreenEffect() || w->isFullScreen()) {
-+         return Effect::drawWindow(w, mask, region, data);
-+    }
-+
-     MaskCache::TextureData mask_texture = 
MaskCache::instance()->getTextureByWindow(w);
- 
-     if (!mask_texture) {
-@@ -214,7 +223,11 @@ void ScissorWindow::drawWindow(KWin::EffectWindow *w, int 
mask, QRegion region,
-     QRegion corner_region;
- 
-     if (!mask_texture->customMask) {
-+#if KWIN_VERSION_MAJ <= 5 && KWIN_VERSION_MIN < 23
-         const QRect window_rect = w->geometry();
-+#else
-+        const QRect window_rect = w->frameGeometry();
-+#endif
-         QRect corner_rect(window_rect.topLeft(), mask_texture->size);
- 
-         // top left
-@@ -241,6 +254,7 @@ void ScissorWindow::drawWindow(KWin::EffectWindow *w, int 
mask, QRegion region,
-         }
-     }
- 
-+#if !defined(KWIN_VERSION) || KWIN_VERSION < KWIN_VERSION_CHECK(5, 23, 4, 0)
-     KWin::WindowQuadList decoration_quad_list;
-     KWin::WindowQuadList content_quad_list;
- 
-@@ -257,20 +271,65 @@ void ScissorWindow::drawWindow(KWin::EffectWindow *w, 
int mask, QRegion region,
-             break;
-         }
-     }
-+#endif
- 
-+#ifndef DISBLE_DDE_KWIN_XCB
-+     class SetWindowDepth {
-+     public:
-+         SetWindowDepth(KWin::EffectWindow *w, int depth)
-+             : m_window(w)
-+         {
-+             // 此时正在进行窗口绘制,会有大量的调用,应当避免窗口发射hasAlphaChanged信号
-+             QSignalBlocker(w->parent());
-+             KWinUtils::setClientDepth(w->parent(), depth);
-+         }
-+
-+         ~SetWindowDepth() {
-+             bool ok = false;
-+             int depth = m_window->data(WindowDepthRole).toInt(&ok);
-+             QObject *client = m_window->parent();
-+
-+             if (!ok) {
-+                 depth = KWinUtils::getWindowDepth(client);
-+                 // 保存以便下次使用
-+                 m_window->setData(WindowDepthRole, depth);
-+             }
-+
-+             // 此时正在进行窗口绘制,会有大量的调用,应当避免窗口发射hasAlphaChanged信号
-+             QSignalBlocker blocker(client);
-+             Q_UNUSED(blocker)
-+             KWinUtils::setClientDepth(client, depth);
-+         }
-+
-+     private:
-+         KWin::EffectWindow *m_window;
-+     };
-+
-+     // 要想窗口裁剪生效,必须要保证窗口材质绘制时开启了alpha通道混合
-+     QScopedPointer<SetWindowDepth> setDepth;
-+     if (!w->hasAlpha()) {
-+         QScopedPointer<SetWindowDepth> alpha(new SetWindowDepth(w, 32));
-+         setDepth.swap(alpha);
-+     }
-+ #endif
-+
-+#if !defined(KWIN_VERSION) || KWIN_VERSION < KWIN_VERSION_CHECK(5, 23, 4, 0)
-     if (!mask_texture->customMask) {
-         // 此时只允许绘制窗口边框和阴影
-         // 针对设置了自定义裁剪的窗口,则不绘制标题栏和阴影
-         data.quads = decoration_quad_list;
-         Effect::drawWindow(w, mask, region, data);
-     }
-+#endif
- 
-     if (!corner_region.isEmpty()) {
-         QRegion new_region = region - corner_region;
- 
-         // 先绘制未处于mask区域的窗口材质
-         if (!new_region.isEmpty()) {
-+#if !defined(KWIN_VERSION) || KWIN_VERSION < KWIN_VERSION_CHECK(5, 23, 4, 0)
-             data.quads = content_quad_list;
-+#endif
-             Effect::drawWindow(w, mask, new_region, data);
-         }
- 
-@@ -278,6 +337,9 @@ void ScissorWindow::drawWindow(KWin::EffectWindow *w, int 
mask, QRegion region,
-         region = region - new_region;
-     }
- 
-+    glEnable(GL_BLEND);
-+    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-+
-     // 将mask材质绑定到第二个材质
-     glActiveTexture(GL_TEXTURE1);
-     mask_texture->bind();
-@@ -303,52 +365,13 @@ void ScissorWindow::drawWindow(KWin::EffectWindow *w, 
int mask, QRegion region,
- 
-     // 此时只允许绘制窗口内容
-     auto old_shader = data.shader;
-+#if !defined(KWIN_VERSION) || KWIN_VERSION < KWIN_VERSION_CHECK(5, 23, 4, 0)
-     data.quads = content_quad_list;
-+    data.quads = content_quad_list;
-+#endif
-     data.shader = shader;
- 
--#ifndef DISBLE_DDE_KWIN_XCB
--    class SetWindowDepth {
--    public:
--        SetWindowDepth(KWin::EffectWindow *w, int depth)
--            : m_window(w)
--        {
--            // 此时正在进行窗口绘制,会有大量的调用,应当避免窗口发射hasAlphaChanged信号
--            QSignalBlocker blocker(w->parent());
--            Q_UNUSED(blocker)
--            KWinUtils::setClientDepth(w->parent(), depth);
--        }
--
--        ~SetWindowDepth() {
--            bool ok = false;
--            int depth = m_window->data(WindowDepthRole).toInt(&ok);
--            QObject *client = m_window->parent();
--
--            if (!ok) {
--                depth = KWinUtils::getWindowDepth(client);
--                // 保存以便下次使用
--                m_window->setData(WindowDepthRole, depth);
--            }
--
--            // 此时正在进行窗口绘制,会有大量的调用,应当避免窗口发射hasAlphaChanged信号
--            QSignalBlocker blocker(client);
--            Q_UNUSED(blocker)
--            KWinUtils::setClientDepth(client, depth);
--        }
--
--    private:
--        KWin::EffectWindow *m_window;
--    };
--
--    // 要想窗口裁剪生效,必须要保证窗口材质绘制时开启了alpha通道混合
--    if (!w->hasAlpha()) {
--        SetWindowDepth set_depth(w, 32);
--        Q_UNUSED(set_depth)
--        Effect::drawWindow(w, mask, region, data);
--    } else
--#endif
--    {
--        Effect::drawWindow(w, mask, region, data);
--    }
-+    Effect::drawWindow(w, mask, region, data);
- 
-     data.shader = old_shader;
- 
-@@ -357,4 +380,6 @@ void ScissorWindow::drawWindow(KWin::EffectWindow *w, int 
mask, QRegion region,
-     glActiveTexture(GL_TEXTURE1);
-     mask_texture->unbind();
-     glActiveTexture(GL_TEXTURE0);
-+
-+    glDisable(GL_BLEND);
- }
-diff --git a/plugins/kwineffects/scissor-window/scissorwindow.h 
b/plugins/kwineffects/scissor-window/scissorwindow.h
-index 6e12a1adc..a778a1d97 100644
---- a/plugins/kwineffects/scissor-window/scissorwindow.h
-+++ b/plugins/kwineffects/scissor-window/scissorwindow.h
-@@ -23,6 +23,10 @@
- 
- #include <kwineffects.h>
- 
-+#ifndef DISBLE_DDE_KWIN_XCB
-+#include "kwinutils.h"
-+#endif
-+
- class ScissorWindow : public KWin::Effect
- {
-     Q_OBJECT
-diff --git a/plugins/platforms/lib/CMakeLists.txt 
b/plugins/platforms/lib/CMakeLists.txt
-index 9dbf2474f..06379d0ab 100644
---- a/plugins/platforms/lib/CMakeLists.txt
-+++ b/plugins/platforms/lib/CMakeLists.txt
-@@ -3,6 +3,7 @@ set(TARGET_NAME "kwin-xcb")
- find_package(Qt5Core REQUIRED)
- find_package(Qt5X11Extras REQUIRED)
- find_package(Qt5Qml REQUIRED)
-+find_package(X11 REQUIRED)
- find_package(KF5Config REQUIRED)
- find_package(KF5WindowSystem REQUIRED)
- find_package(KF5CoreAddons REQUIRED)
-diff --git a/plugins/platforms/lib/kwinutils.cpp 
b/plugins/platforms/lib/kwinutils.cpp
-index df1b8ce6b..ee283a60e 100644
---- a/plugins/platforms/lib/kwinutils.cpp
-+++ b/plugins/platforms/lib/kwinutils.cpp
-@@ -87,7 +87,11 @@ public:
- public Q_SLOTS:
-     void slotWindowMove();
-     void slotWindowMaximize();
--    bool compositing() const;
-+#if !defined(KWIN_VERSION) || KWIN_VERSION < KWIN_VERSION_CHECK(5, 23, 4, 0)
-+     // remove by c61085dc2e28cb7d737c9b049499b4433916b194
-+     // change to Compositor::compositing()
-+     bool compositing() const;
-+ #endif
-     void slotTouchPadTomoveWindow(int x, int y);
-     void slotEndTouchPadToMoveWindow();
- 
-@@ -139,14 +143,23 @@ class Compositor : public QObject
- public:
-     enum SuspendReason { NoReasonSuspend = 0, UserSuspend = 1<<0, 
BlockRuleSuspend = 1<<1, ScriptSuspend = 1<<2, AllReasonSuspend = 0xff };
-     static Compositor *s_compositor;
-+    bool isActive();
- };
- 
- // 光标管理
-+#if defined(KWIN_VERSION) && KWIN_VERSION >= KWIN_VERSION_CHECK(5, 23, 4, 0)
-+class Cursors : public QObject
-+{
-+public:
-+    static Cursors *s_self;
-+};
-+#else
- class Cursor : public QObject
- {
- public:
-     static Cursor *s_self;
- };
-+#endif
- 
- class AbstractClient : public QObject {};
- class Options {
-@@ -613,7 +626,11 @@ QObject *KWinUtils::tabBox()
- 
- QObject *KWinUtils::cursor()
- {
-+#if defined(KWIN_VERSION) && KWIN_VERSION >= KWIN_VERSION_CHECK(5, 23, 4, 0)
-+    return KWin::Cursors::s_self;
-+#else
-     return KWin::Cursor::s_self;
-+#endif
- }
- 
- QObject *KWinUtils::virtualDesktop()
-@@ -643,8 +660,8 @@ QObjectList KWinUtils::clientList()
-         return {};
-     }
- 
--    QList<KWin::Client*> clients;
--    bool ok = QMetaObject::invokeMethod(jsWorkspaceWrapper, "clientList", 
Q_RETURN_ARG(QList<KWin::Client*>, clients));
-+    QList<KWin::AbstractClient*> clients;
-+    bool ok = QMetaObject::invokeMethod(jsWorkspaceWrapper, "clientList", 
Q_RETURN_ARG(QList<KWin::AbstractClient*>, clients));
- 
-     if (!ok) {
-         return {};
-@@ -652,7 +669,7 @@ QObjectList KWinUtils::clientList()
- 
-     QObjectList list;
- 
--    for (KWin::Client *c : clients) {
-+    for (KWin::AbstractClient *c : clients) {
-         list << c;
-     }
- 
-@@ -1057,12 +1074,19 @@ void KWinUtils::removeWindowPropertyMonitor(quint32 
property_atom)
- 
- bool KWinUtils::isCompositing()
- {
-+  #if defined(KWIN_VERSION) && KWIN_VERSION >= KWIN_VERSION_CHECK(5, 23, 4, 0)
-+     if (KWin::Compositor::s_compositor) {
-+         return KWin::Compositor::s_compositor->isActive();
-+     }
-+ #else
-     KWin::Workspace *ws = static_cast<KWin::Workspace *>(workspace());
-     if (ws) {
-         return ws->compositing();
-     } else {
-         return compositorIsActive();
-     }
-+#endif
-+    return compositorIsActive();
- }
- 
- bool KWinUtils::buildNativeSettings(QObject *baseObject, quint32 windowID)
-diff --git a/plugins/platforms/plugin/libkwinpreload.cpp 
b/plugins/platforms/plugin/libkwinpreload.cpp
-index 55b509e4b..c8814bd8d 100644
---- a/plugins/platforms/plugin/libkwinpreload.cpp
-+++ b/plugins/platforms/plugin/libkwinpreload.cpp
-@@ -279,9 +279,11 @@ void RuleBook::save()
- 
- namespace BuiltInEffects {
- bool supported(BuiltInEffect effect) {
-+#ifdef ENABLE_BUILTIN_BLUR
-     if (effect == BuiltInEffect::Blur) {
-         return false;
-     }
-+#endif
- 
-     typedef bool (*ClientBuiltInEffect)(KWin::BuiltInEffect);
-     ClientBuiltInEffect clientBuildInEffect = 
(ClientBuiltInEffect)QLibrary::resolve("kwin", qApp->applicationVersion(), 
"_ZN4KWin14BuiltInEffects9supportedENS_13BuiltInEffectE");

Deleted: deepin-kwin-added-functions-from-their-forked-kwin.patch
===================================================================
--- deepin-kwin-added-functions-from-their-forked-kwin.patch    2022-08-30 
08:25:12 UTC (rev 1288429)
+++ deepin-kwin-added-functions-from-their-forked-kwin.patch    2022-08-30 
08:26:28 UTC (rev 1288430)
@@ -1,133 +0,0 @@
-From 23a92e4839509ee3ef8886618ce1ee4cfbec3427 Mon Sep 17 00:00:00 2001
-From: wangxinbo <wangxi...@uniontech.com>
-Date: Tue, 11 Aug 2020 14:19:26 +0800
-Subject: [PATCH] feat: add touch pad double click with three fingers to move
- active client
-
-pms task id 30501
----
- deepin-wm-dbus/com.deepin.wm.xml.in            |  6 ++++++
- deepin-wm-dbus/deepinwmfaker.cpp               | 10 ++++++++++
- deepin-wm-dbus/deepinwmfaker.h                 |  3 +++
- plugins/platforms/lib/kwinutils.cpp            | 18 ++++++++++++++++++
- plugins/platforms/lib/kwinutils.h              |  2 ++
- .../plugin/org.kde.kwin.KWinUtils.xml          |  6 ++++++
- 6 files changed, 45 insertions(+)
-
-diff --git a/deepin-wm-dbus/com.deepin.wm.xml.in 
b/deepin-wm-dbus/com.deepin.wm.xml.in
-index 8a45365..ff4629a 100644
---- a/deepin-wm-dbus/com.deepin.wm.xml.in
-+++ b/deepin-wm-dbus/com.deepin.wm.xml.in
-@@ -184,4 +184,10 @@
-     <method name="GetCurrentDesktopStatus">
-         <arg type="b" name="isDesktop" direction="out"/>
-     </method>
-+    <method name="TouchToMove">
-+        <arg type="i" name="x" direction="in"/>
-+        <arg type="i" name="y" direction="in"/>
-+    </method>
-+    <method name="ClearMoveStatus">
-+    </method>
- </interface>
-diff --git a/deepin-wm-dbus/deepinwmfaker.cpp 
b/deepin-wm-dbus/deepinwmfaker.cpp
-index 453280d..2f3f48a 100644
---- a/deepin-wm-dbus/deepinwmfaker.cpp
-+++ b/deepin-wm-dbus/deepinwmfaker.cpp
-@@ -681,6 +681,20 @@ void DeepinWMFaker::BeginToMoveActiveWindow()
-     m_kwinUtilsInter->WindowMove();
- }
- 
-+void DeepinWMFaker::TouchToMove(int x, int y)
-+{
-+#ifndef DISABLE_DEEPIN_WM
-+    m_kwinUtilsInter->TouchPadToMoveWindow(x,y);
-+#endif
-+}
-+
-+void DeepinWMFaker::ClearMoveStatus()
-+{
-+#ifndef DISABLE_DEEPIN_WM
-+    m_kwinUtilsInter->EndTouchPadToMoveWindow();
-+#endif
-+}
-+
- void DeepinWMFaker::SwitchApplication(bool backward)
- {
-     if (!m_kwinUtilsInter->isValid()) {
-diff --git a/deepin-wm-dbus/deepinwmfaker.h b/deepin-wm-dbus/deepinwmfaker.h
-index 9ee73ab..ae6374a 100644
---- a/deepin-wm-dbus/deepinwmfaker.h
-+++ b/deepin-wm-dbus/deepinwmfaker.h
-@@ -136,6 +136,8 @@ public Q_SLOTS:
-     bool GetIsShowDesktop();
-     void SetShowDesktop(bool isShowDesktop);
- 
-+    void TouchToMove(int x, int y);
-+    void ClearMoveStatus();
- Q_SIGNALS:
-     void WorkspaceBackgroundChanged(int index, const QString &newUri);
-     void WorkspaceBackgroundChangedForMonitor(int index, const QString 
&strMonitorName, const QString &newUri);
-diff --git a/plugins/platforms/lib/kwinutils.cpp 
b/plugins/platforms/lib/kwinutils.cpp
-index 8bf9e27..0be9682 100644
---- a/plugins/platforms/lib/kwinutils.cpp
-+++ b/plugins/platforms/lib/kwinutils.cpp
-@@ -88,6 +88,8 @@ public Q_SLOTS:
-      // change to Compositor::compositing()
-      bool compositing() const;
-  #endif
-+    void slotTouchPadTomoveWindow(int x, int y);
-+    void slotEndTouchPadToMoveWindow();
- 
- #if !defined(KWIN_VERSION) || KWIN_VERSION < KWIN_VERSION_CHECK(5, 10, 95, 0)
-     // kwin < 5.10.95
-@@ -1082,6 +1084,22 @@ void KWinUtils::WindowMove()
-     }
- }
- 
-+void KWinUtils::TouchPadToMoveWindow(int x, int y)
-+{
-+    KWin::Workspace *ws = static_cast<KWin::Workspace *>(workspace());
-+    if (ws) {
-+        ws->slotTouchPadTomoveWindow(x,y);
-+    }
-+}
-+
-+void KWinUtils::EndTouchPadToMoveWindow()
-+{
-+    KWin::Workspace *ws = static_cast<KWin::Workspace *>(workspace());
-+    if (ws) {
-+        ws->slotEndTouchPadToMoveWindow();
-+    }
-+}
-+
- void KWinUtils::WindowMaximize()
- {
-     KWin::Workspace *ws = static_cast<KWin::Workspace *>(workspace());
-diff --git a/plugins/platforms/lib/kwinutils.h 
b/plugins/platforms/lib/kwinutils.h
-index 57edb86..2c75875 100644
---- a/plugins/platforms/lib/kwinutils.h
-+++ b/plugins/platforms/lib/kwinutils.h
-@@ -156,6 +156,8 @@ public Q_SLOTS:
-     void ShowWindowsView();
-     void ResumeCompositor(int type);
-     void SuspendCompositor(int type);
-+    void TouchPadToMoveWindow(int x, int y);
-+    void EndTouchPadToMoveWindow();
- 
- Q_SIGNALS:
-     void initialized();
-diff --git a/plugins/platforms/plugin/org.kde.kwin.KWinUtils.xml 
b/plugins/platforms/plugin/org.kde.kwin.KWinUtils.xml
-index aa61b6c..5854ed0 100644
---- a/plugins/platforms/plugin/org.kde.kwin.KWinUtils.xml
-+++ b/plugins/platforms/plugin/org.kde.kwin.KWinUtils.xml
-@@ -22,4 +22,10 @@
-     <method name="SuspendCompositor">
-         <arg type="i" name="type" direction="in"/>
-     </method>
-+    <method name="TouchPadToMoveWindow">
-+        <arg type="i" name="x" direction="in"/>
-+        <arg type="i" name="y" direction="in"/>
-+    </method>
-+    <method name="EndTouchPadToMoveWindow">
-+    </method>
- </interface>

Reply via email to