[arch-commits] Commit in deepin-kwin/repos (4 files)

Felix Yan felixonmars at archlinux.org
Mon May 17 22:29:11 UTC 2021


    Date: Monday, May 17, 2021 @ 22:29:11
  Author: felixonmars
Revision: 936145

archrelease: copy trunk to community-testing-x86_64

Added:
  deepin-kwin/repos/community-testing-x86_64/
  deepin-kwin/repos/community-testing-x86_64/PKGBUILD
    (from rev 936144, deepin-kwin/trunk/PKGBUILD)
  deepin-kwin/repos/community-testing-x86_64/deepin-kwin-added-functions-from-their-forked-kwin.patch
    (from rev 936144, deepin-kwin/trunk/deepin-kwin-added-functions-from-their-forked-kwin.patch)
  deepin-kwin/repos/community-testing-x86_64/deepin-kwin-crash.patch
    (from rev 936144, deepin-kwin/trunk/deepin-kwin-crash.patch)

----------------------------------------------------------+
 PKGBUILD                                                 |   42 ++++
 deepin-kwin-added-functions-from-their-forked-kwin.patch |  133 +++++++++++++
 deepin-kwin-crash.patch                                  |   39 +++
 3 files changed, 214 insertions(+)

Copied: deepin-kwin/repos/community-testing-x86_64/PKGBUILD (from rev 936144, deepin-kwin/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD	                        (rev 0)
+++ community-testing-x86_64/PKGBUILD	2021-05-17 22:29:11 UTC (rev 936145)
@@ -0,0 +1,42 @@
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Josip Ponjavic <josipponjavic at gmail dot com>
+# Contributor: Xu Fasheng <fasheng.xu[AT]gmail.com>
+
+pkgname=deepin-kwin
+pkgver=5.3.9
+pkgrel=1
+pkgdesc='KWin configures on DDE'
+arch=('x86_64')
+url="https://github.com/linuxdeepin/dde-kwin"
+license=('GPL3')
+depends=('deepin-qt5integration' 'deepin-wallpapers' 'kwin')
+makedepends=('extra-cmake-modules' 'expac' 'ninja' 'qt5-tools')
+source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxdeepin/dde-kwin/archive/$pkgver.tar.gz"
+        $pkgname-tabbox-chameleon-rename.patch::https://github.com/linuxdeepin/dde-kwin/pull/106.patch
+        $pkgname-added-functions-from-their-forked-kwin.patch
+        $pkgname-crash.patch)
+sha512sums=('ab434338310f84113152735d74737db1bb93ebe113042f5075886332ddaddaad54a3ae772b6c3d7a523498de4751b68b4daedf17b93a750ed4d794dca62a8228'
+            '7ac1a577868b73314274d336287334acc5bf4ac06dde046c93e4c2d3f68a112389c8b0644d1cbc3fde5ba1c01f368676f4f34b4a1b7b6c97a5b73d66507d134d'
+            '48a3bead1c7cde1261f5f710fd055c52f061320999064ba4cc96a81f9b0770ea2a8fba7aff37d20bb7671b219c38bf8424f24fd7742d36b3c6bf171d3874c1f4'
+            '73aef1435c83aec18f4535cc121d09121c1fb180f02b11fc57bb61339b79667ae310a4e3eb33263d6ba218b2eab7281dc9014578edf1317226239e8538e08830')
+
+prepare() {
+  cd dde-kwin-$pkgver
+  sed -i 's|/usr/share/backgrounds/default_background.jpg|/usr/share/backgrounds/deepin/desktop.jpg|' plugins/kwineffects/multitasking/background.cpp
+  patch -R -p1 -i ../$pkgname-added-functions-from-their-forked-kwin.patch
+  patch -p1 -i ../$pkgname-tabbox-chameleon-rename.patch
+  patch -p1 -i ../$pkgname-crash.patch
+}
+
+build() {
+  cd dde-kwin-$pkgver
+  cmake . -GNinja -DCMAKE_INSTALL_PREFIX=/usr -DKWIN_VERSION=$(expac %v kwin | cut -d - -f 1)
+  ninja
+}
+
+package() {
+  cd dde-kwin-$pkgver
+  DESTDIR="$pkgdir" ninja install
+
+  chmod +x "$pkgdir"/usr/bin/kwin_no_scale
+}

Copied: deepin-kwin/repos/community-testing-x86_64/deepin-kwin-added-functions-from-their-forked-kwin.patch (from rev 936144, deepin-kwin/trunk/deepin-kwin-added-functions-from-their-forked-kwin.patch)
===================================================================
--- community-testing-x86_64/deepin-kwin-added-functions-from-their-forked-kwin.patch	                        (rev 0)
+++ community-testing-x86_64/deepin-kwin-added-functions-from-their-forked-kwin.patch	2021-05-17 22:29:11 UTC (rev 936145)
@@ -0,0 +1,133 @@
+From 23a92e4839509ee3ef8886618ce1ee4cfbec3427 Mon Sep 17 00:00:00 2001
+From: wangxinbo <wangxinbo at 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:
+     void slotWindowMove();
+     void slotWindowMaximize();
+     bool compositing() const;
++    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>

Copied: deepin-kwin/repos/community-testing-x86_64/deepin-kwin-crash.patch (from rev 936144, deepin-kwin/trunk/deepin-kwin-crash.patch)
===================================================================
--- community-testing-x86_64/deepin-kwin-crash.patch	                        (rev 0)
+++ community-testing-x86_64/deepin-kwin-crash.patch	2021-05-17 22:29:11 UTC (rev 936145)
@@ -0,0 +1,39 @@
+diff --git a/plugins/platforms/lib/kwinutils.cpp b/plugins/platforms/lib/kwinutils.cpp
+index 4f2f7c58a..d022392ea 100644
+--- a/plugins/platforms/lib/kwinutils.cpp
++++ b/plugins/platforms/lib/kwinutils.cpp
+@@ -148,6 +148,12 @@ public:
+     static Cursor *s_self;
+ };
+ 
++class Cursors : public QObject
++{
++public:
++    static Cursors *s_self;
++};
++
+ class AbstractClient : public QObject {};
+ class Options {
+ public:
+@@ -606,7 +612,21 @@ QObject *KWinUtils::tabBox()
+ 
+ QObject *KWinUtils::cursor()
+ {
++#if defined(KWIN_VERSION) && KWIN_VERSION <= KWIN_VERSION_CHECK(5, 18, 4, 0)
+     return KWin::Cursor::s_self;
++#else
++    /*
++     * kwin:6abd23ed0220b14a4a05fa280869ba3c953565e3
++     * Make it possible to have a separate cursor for the tablet
++     * Summary:
++     * As is KWin only had 1 Cursor which was a singleton. This made it impossible for
++     * us to properly implement the tablet (as in drawing tablets) support and show where
++     * we're drawing.
++     * This patch makes it possible to have different Cursors in KWin, it makes all the
++     * current code still follow the mouse but the tablet can still render a cursor.
++     */
++    return KWin::Cursors::s_self;
++#endif
+ }
+ 
+ QObject *KWinUtils::virtualDesktop()



More information about the arch-commits mailing list