Subject: [PATCH 2/2] gnu: Add papersway.

From: Hilton Chain <[email-masked]>
Date: Sun, 8 Dec 2024 17:55:43 +0800

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

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

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 7ec9411b92..97769f7ebf 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -614,6 +614,43 @@ (define-public i3blocks
 i3status.")
     (license license:gpl3+)))
 
+(define-public papersway
+  (package
+    (name "papersway")
+    (version "1.004")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "mirror://cpan/authors/id/S/SP/SPWHITTON/App-papersway-" version
+             ".tar.gz"))
+       (sha256
+        (base32 "02p144cbzi3vk5jpk1pmcrf51mmli0q92hrkjyalj91drl0d44px"))))
+    (build-system perl-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'install 'wrap-program
+                 (lambda _
+                   (for-each
+                    (lambda (command)
+                      (wrap-program (string-append #$output "/bin/" command)
+                        `("PERL5LIB" ":" prefix
+                          (,(getenv "PERL5LIB")
+                           ,(string-append #$output "/lib/perl5/site_perl")))))
+                    '("papersway" "papersway-msg")))))))
+    (inputs (list perl-anyevent perl-anyevent-i3 perl-json))
+    (home-page "https://spwhitton.name/tech/code/papersway/")
+    (synopsis
+     "Scrollable tiling window management for Sway and i3 window manager")
+    (description
+     "@command{papersway} is an implementation of scrollable window management
+like @code{gnome-shell-extension-paperwm} for @code{sway} and @code{i3-wm}.
+If you like @code{sway} and @code{i3-wm}'s commitments to stability, avoiding
+scope creep etc., but dislike the window management model, @command{papersway}
+might be of interest.")
+    (license license:gpl3)))
+
 (define-public perl-anyevent-i3
   (package
     (name "perl-anyevent-i3")
-- 
2.46.0