Subject: [PATCH v3 2/5] gnu: Add hyprscroller.

From: Andrew Wong <[email-masked]>
Date: Tue, 1 Apr 2025 03:34:39 -0400

* gnu/packages/wm.scm (hyprscroller): New variable.

Change-Id: I56c9984c7ce013f0ce4b22ec1f5df778fe17f736
---
 gnu/packages/wm.scm | 48 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index a951b24b2d..e5bfe97c33 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -525,6 +525,54 @@ (define-public hyprwinwrap
 (define-public xtra-dispatchers
   (hyprland-plugin "xtra-dispatchers" "extra dispatchers"))
 
+(define-public hyprscroller
+  (let ((commit "3f86916f3e9a583154b1be0af4e8a1ef1f7435b2"))
+    (package
+      (name "hyprscroller")
+      (version (git-version "0.48.1" "0" commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/dawsers/hyprscroller")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "03k6rkxm8qmvhwbr2d9jcqiagv1c81kls2p0aqrx49iqyzg2l1ls"))))
+      (build-system cmake-build-system)
+      (native-inputs (list gcc-14 pkg-config))
+      (inputs (list aquamarine
+                    hyprgraphics
+                    hyprlang
+                    hyprutils
+                    libdrm
+                    libinput
+                    libxkbcommon
+                    mesa
+                    pango
+                    pixman
+                    wayland
+                    hyprland))
+      (arguments
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (delete 'configure)
+            (delete 'check)
+            (replace 'install
+              (lambda* _
+                (install-file "hyprscroller.so"
+                              (string-append #$output "/lib")))))))
+      (home-page "https://github.com/dawsers/hyprscroller")
+      (synopsis "Hyprland plugin for a PaperWM-like scrolling layout")
+      (description
+       "Hyprscroller is a Hyprland layout plugin that creates a window layout
+similar to PaperWM.  The plugin supports gaps, borders, decorations,
+special workspace, full screen modes, overview, marks, pinned columns,
+touchpad gestures, copying/pasting windows, trails/trailmarks, quick
+jump mode, and installation through hyprpm.")
+      (license license:expat))))
+
 (define-public i3status
   (package
     (name "i3status")
-- 
2.49.0