diff mbox series

[bug#66861,5/7] gnu: Add plasma-shell-applet-window-buttons.

Message ID a7d52d165548905269f3af5ef53af669ddad007a.1698783239.git.sughosha@disroot.org
State New
Headers show
Series Add some themes and extensions for KDE Plasma. | expand

Commit Message

Sughosha Oct. 31, 2023, 8:18 p.m. UTC
* gnu/packages/kde-xyz.scm (plasma-shell-applet-window-buttons): New variable.
* gnu/packages/patches/plasma-shell-extension-window-buttons-applet-fix-build.patch: New file.
* gnu/local.mk: Register it.

Change-Id: I6e9d9b6acda80d038060b04502aaa40c1cb548a3
---
 gnu/local.mk                                  |  1 +
 gnu/packages/kde-xyz.scm                      | 37 +++++++++++++
 ...sion-window-buttons-applet-fix-build.patch | 52 +++++++++++++++++++
 3 files changed, 90 insertions(+)
 create mode 100644 gnu/packages/patches/plasma-shell-extension-window-buttons-applet-fix-build.patch
diff mbox series

Patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 03e8c28d45..41e3b71346 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1747,6 +1747,7 @@  dist_patch_DATA =						\
   %D%/packages/patches/petri-foo-0.1.87-fix-recent-file-not-exist.patch			\
   %D%/packages/patches/php-fix-streams-copy-length.patch	\
   %D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
+  %D%/packages/patches/plasma-shell-extension-window-buttons-applet-fix-build.patch	\
   %D%/packages/patches/pocketfft-cpp-prefer-preprocessor-if.patch			\
   %D%/packages/patches/pokerth-boost.patch			\
   %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch		\
diff --git a/gnu/packages/kde-xyz.scm b/gnu/packages/kde-xyz.scm
index cde12d45b4..42d5046cf2 100644
--- a/gnu/packages/kde-xyz.scm
+++ b/gnu/packages/kde-xyz.scm
@@ -152,3 +152,40 @@  (define-public plasma-shell-applet-window-appmenu
        "This plasmoid shows the current window appmenu in Plasma panels or
 Latte Dock.")
       (license license:gpl2+))))
+
+(define-public plasma-shell-applet-window-buttons
+  (package
+    (name "plasma-shell-applet-window-buttons")
+    (version "0.11.1")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/psifidotos/applet-window-buttons")
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1wbiw5gz6fp8rf2f8sd3ibgkx9abvi0d3s0xz6m3p6n4cvdky323"))
+              (patches
+               (search-patches
+                 "plasma-shell-extension-window-buttons-applet-fix-build.patch"))))
+    (build-system qt-build-system)
+    (native-inputs
+     (list extra-cmake-modules))
+    (inputs
+     (list kcmutils
+           kconfigwidgets
+           kcoreaddons
+           kdeclarative
+           ki18n
+           kservice
+           kwindowsystem
+           plasma-framework
+           qtdeclarative-5))
+    (propagated-inputs
+     (list kdecoration))
+    (home-page "https://github.com/psifidotos/applet-window-buttons")
+    (synopsis "Window buttons in Plasma panels")
+    (description
+     "This plasmoid shows window buttons in Plasma panels or Latte Dock.")
+    (license license:gpl2+)))
diff --git a/gnu/packages/patches/plasma-shell-extension-window-buttons-applet-fix-build.patch b/gnu/packages/patches/plasma-shell-extension-window-buttons-applet-fix-build.patch
new file mode 100644
index 0000000000..afbb62eb30
--- /dev/null
+++ b/gnu/packages/patches/plasma-shell-extension-window-buttons-applet-fix-build.patch
@@ -0,0 +1,52 @@ 
+From 924994e10402921bf22fefc099bca2914989081c Mon Sep 17 00:00:00 2001
+From: Dmitry Chermnykh <76gh6rvso@relay.firefox.com>
+Date: Mon, 23 Jan 2023 21:21:47 +0500
+Subject: [PATCH] Support building on plasma 5.26.90+
+
+---
+ CMakeLists.txt                        | 2 +-
+ libappletdecoration/previewclient.cpp | 5 +++++
+ libappletdecoration/previewclient.h   | 1 +
+ 3 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5ecec88..43adaef 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,7 +8,7 @@ set(EMAIL "mvourlakos@gmail.com")
+ 
+ set(QT_MIN_VERSION "5.15.0")
+ set(KF5_MIN_VERSION "5.81.0")
+-set(KDECORATION2_MIN_VERSION "5.24.0")
++set(KDECORATION2_MIN_VERSION "5.26.90")
+ 
+ set(KF5_LOCALE_PREFIX "")
+ 
+diff --git a/libappletdecoration/previewclient.cpp b/libappletdecoration/previewclient.cpp
+index 2cf184b..3ffe358 100644
+--- a/libappletdecoration/previewclient.cpp
++++ b/libappletdecoration/previewclient.cpp
+@@ -263,6 +263,11 @@ WId PreviewClient::windowId() const
+     return 0;
+ }
+ 
++QString PreviewClient::windowClass() const
++{
++    return QString("kwin_preview");
++}
++
+ QPalette PreviewClient::palette() const
+ {
+     return m_palette->palette();
+diff --git a/libappletdecoration/previewclient.h b/libappletdecoration/previewclient.h
+index c479acc..e5fbe7a 100644
+--- a/libappletdecoration/previewclient.h
++++ b/libappletdecoration/previewclient.h
+@@ -74,6 +74,7 @@ class PreviewClient : public QObject, public KDecoration2::ApplicationMenuEnable
+     QString caption() const override;
+     WId decorationId() const override;
+     WId windowId() const override;
++    QString windowClass() const override;
+     int desktop() const override;
+     QIcon icon() const override;
+     bool isActive() const override;