Subject: [PATCH] gnu: add rofi-wayland

From: [email-masked]
Date: Thu, 13 Oct 2022 15:22:35 +0000

From: florhizome <[email-masked]>

This adds a wayland compatible fork of rofi. 

---
 gnu/packages/xdisorg.scm | 46 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 2533744633..2dbee6f7b6 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -1860,6 +1860,52 @@ (define-public rofi
 by name.")
     (license license:expat)))
 
+(define-public rofi-wayland
+  (package
+    (inherit rofi)
+    (name "rofi-wayland")
+    (version "1.7.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri
+        (git-reference
+         (url "https://github.com/lbonn/rofi")
+         (commit
+           (string-append version "+wayland1"))
+          (recursive? #t)))
+       (sha256
+          (base32 "0d2h1ys05sixwf508b3cqaailjibh56009cnjz809akgndbqplkm"))
+         (file-name (git-file-name name version))))
+    (build-system meson-build-system)
+    (arguments
+     (list #:tests? #f ;;last test fails
+           #:parallel-tests? #f             ; fails in some circumstances
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-before 'configure 'adjust-tests
+                 (lambda _
+                   (substitute* '("test/helper-expand.c")
+                     (("~root") "/root")
+                     (("~") "")
+                     (("g_get_home_dir \\(\\)") "\"/\"")))))))
+    (inputs (modify-inputs
+             (package-inputs rofi)
+             (append wayland-protocols gdk-pixbuf wayland)))
+    (synopsis "Rofi fork that's wayland-ready")
+    (description "This is a fork of Rofi with added support for Wayland via the
+ layer shell protocol.
+Differences with rofi (in wayland mode):
+@itemize
+@item native window selection mode when running under Wayland.
+@item -normal-window flag in Wayland mode.
+@item selecting which monitor to run rofi on in Wayland mode,
+ rofi only shows up on the currently focused monitor
+@item some window locations parameters work partially, x-offset
+ and y-offset are only working from screen edges
+@item some X11-specific options like -dpi or fake transparency
+@end itemize")))
+
 (define-public rofi-calc
   (package
     (name "rofi-calc")

base-commit: 86ec52f66735b122b9035eba56516fd16f3be958
prerequisite-patch-id: 253e1cc8278ab9981294f4e483c7b29a466672d9
prerequisite-patch-id: fb797b9fdd73d1c18cba5dbd5804396d333f13df
-- 
2.38.0