Date: Tuesday, March 31, 2020 @ 10:52:17 Author: arojas Revision: 607969
archrelease: copy trunk to community-staging-x86_64 Added: deepin-kwin/repos/community-staging-x86_64/ deepin-kwin/repos/community-staging-x86_64/PKGBUILD (from rev 607968, deepin-kwin/trunk/PKGBUILD) deepin-kwin/repos/community-staging-x86_64/kwin-5.17.patch (from rev 607968, deepin-kwin/trunk/kwin-5.17.patch) -----------------+ PKGBUILD | 38 ++++++++++++++++++++++++++++++++ kwin-5.17.patch | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) Copied: deepin-kwin/repos/community-staging-x86_64/PKGBUILD (from rev 607968, deepin-kwin/trunk/PKGBUILD) =================================================================== --- community-staging-x86_64/PKGBUILD (rev 0) +++ community-staging-x86_64/PKGBUILD 2020-03-31 10:52:17 UTC (rev 607969) @@ -0,0 +1,38 @@ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Josip Ponjavic <josipponjavic at gmail dot com> +# Contributor: Xu Fasheng <fasheng.xu[AT]gmail.com> + +pkgname=deepin-kwin +pkgver=0.1.0 +pkgrel=8 +pkgdesc='KWin configures on DDE' +arch=('x86_64') +url="https://github.com/linuxdeepin/dde-kwin" +license=('GPL3') +depends=('deepin-qt5integration' 'kwin') +makedepends=('cmake' 'expac' 'qt5-tools') +source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxdeepin/dde-kwin/archive/$pkgver.tar.gz" + kwin-5.17.patch + $pkgname-tabbox-chameleon-rename.patch::https://github.com/linuxdeepin/dde-kwin/pull/106.patch) +sha512sums=('ae670e9f7763df5d614b39e6e0752e04a8ff56cfedaac06272a3a626fe61b3be11cc68d17fb6e2758d50b55a8895e9932d4a70720fcecd8c0e26737aa35a6061' + '6ac5358d4b8aeefd086e4396603cff453051e5bba7237c1e1524659de6741142be840da90556606fda47c8ecde8da30df4caf2508611d7b5de1066c2a33f8521' + '7ac1a577868b73314274d336287334acc5bf4ac06dde046c93e4c2d3f68a112389c8b0644d1cbc3fde5ba1c01f368676f4f34b4a1b7b6c97a5b73d66507d134d') + +prepare() { + cd dde-kwin-$pkgver + patch -p2 -i ../kwin-5.17.patch + patch -p1 -i ../$pkgname-tabbox-chameleon-rename.patch +} + +build() { + cd dde-kwin-$pkgver + cmake . -DCMAKE_INSTALL_PREFIX=/usr -DKWIN_VERSION=$(expac %v kwin | cut -d - -f 1) + make +} + +package() { + cd dde-kwin-$pkgver + make DESTDIR="$pkgdir" install + + chmod +x "$pkgdir"/usr/bin/kwin_no_scale +} Copied: deepin-kwin/repos/community-staging-x86_64/kwin-5.17.patch (from rev 607968, deepin-kwin/trunk/kwin-5.17.patch) =================================================================== --- community-staging-x86_64/kwin-5.17.patch (rev 0) +++ community-staging-x86_64/kwin-5.17.patch 2020-03-31 10:52:17 UTC (rev 607969) @@ -0,0 +1,64 @@ +diff --git a/dde-kwin-0.1.0/plugins/kwin-xcb/lib/kwinutils.cpp.orig b/dde-kwin-0.1.0/plugins/kwin-xcb/lib/kwinutils.cpp +index 999f23b..b618c54 100644 +--- a/dde-kwin-0.1.0/plugins/kwin-xcb/lib/kwinutils.cpp.orig ++++ b/dde-kwin-0.1.0/plugins/kwin-xcb/lib/kwinutils.cpp +@@ -129,10 +129,6 @@ class Compositor : public QObject + public: + enum SuspendReason { NoReasonSuspend = 0, UserSuspend = 1<<0, BlockRuleSuspend = 1<<1, ScriptSuspend = 1<<2, AllReasonSuspend = 0xff }; + static Compositor *s_compositor; +- +-public Q_SLOTS: +- void suspend(Compositor::SuspendReason reason); +- void resume(Compositor::SuspendReason reason); + }; + + // 光标管理 +@@ -222,6 +218,7 @@ class KWinInterface + typedef xcb_cursor_t (*X11CursorGetCursor)(Qt::CursorShape); + typedef KWin::Options::WindowOperation (*OptionsWindowOperation)(const QString &, bool); + typedef QObject *(*WorkspaceFindClient)(KWinUtils::Predicate, xcb_window_t); ++ typedef void (*CompositorToggle)(void *, KWin::Compositor::SuspendReason); + public: + KWinInterface() + { +@@ -232,6 +229,8 @@ public: + x11CursorGetCursor = (X11CursorGetCursor)KWinUtils::resolve("_ZN4KWin6Cursor12getX11CursorEN2Qt11CursorShapeE"); + optionsWindowOperation = (OptionsWindowOperation)KWinUtils::resolve("_ZN4KWin7Options15windowOperationERK7QStringb"); + findClient = (WorkspaceFindClient)KWinUtils::resolve("_ZNK4KWin9Workspace10findClientENS_9PredicateEj"); ++ compositorSuspend = (CompositorToggle)KWinUtils::resolve("_ZN4KWin13X11Compositor7suspendENS0_13SuspendReasonE"); ++ compositorResume = (CompositorToggle)KWinUtils::resolve("_ZN4KWin13X11Compositor6resumeENS0_13SuspendReasonE"); + } + + ClientMaximizeMode clientMaximizeMode; +@@ -241,6 +240,8 @@ public: + X11CursorGetCursor x11CursorGetCursor; + OptionsWindowOperation optionsWindowOperation; + WorkspaceFindClient findClient; ++ CompositorToggle compositorSuspend; ++ CompositorToggle compositorResume; + }; + + Q_GLOBAL_STATIC(KWinInterface, interface) +@@ -609,18 +610,18 @@ void KWinUtils::ShowWorkspacesView() + + void KWinUtils::ResumeCompositor(int type) + { +- if (!KWin::Compositor::s_compositor) ++ if (!KWin::Compositor::s_compositor || !interface->compositorResume) + return; + +- KWin::Compositor::s_compositor->resume(static_cast<KWin::Compositor::SuspendReason>(type)); ++ interface->compositorResume(KWin::Compositor::s_compositor, static_cast<KWin::Compositor::SuspendReason>(type)); + } + + void KWinUtils::SuspendCompositor(int type) + { +- if (!KWin::Compositor::s_compositor) ++ if (!KWin::Compositor::s_compositor || !interface->compositorSuspend) + return; + +- KWin::Compositor::s_compositor->suspend(static_cast<KWin::Compositor::SuspendReason>(type)); ++ interface->compositorSuspend(KWin::Compositor::s_compositor, static_cast<KWin::Compositor::SuspendReason>(type)); + } + + void KWinUtils::ShowAllWindowsView()