summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Flake <flake@uni-koblenz.de>2024-03-14 12:26:48 +0100
committerHilton Chain <hako@ultrarare.space>2024-04-20 09:13:42 +0800
commitd66bfbeeb2a964bdaf8e42595e18b6aad75b4778 (patch)
tree68798799dfcf4a3a71061337595af8a79c67fac4
parent6c4f3043933db2c9132efc4ea8c5f0e63cddaaa1 (diff)
downloadguix-patches-d66bfbeeb2a964bdaf8e42595e18b6aad75b4778.tar
guix-patches-d66bfbeeb2a964bdaf8e42595e18b6aad75b4778.tar.gz
gnu: Add wl-mirror.
* gnu/packages/wm.scm (wl-mirror): New variable. Change-Id: Ib87959a40800a2a8219877611b8cfd301960c608 Modified-by: Hilton Chain <hako@ultrarare.space> Signed-off-by: Hilton Chain <hako@ultrarare.space>
-rw-r--r--gnu/packages/wm.scm46
1 files changed, 46 insertions, 0 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index b5e9dca524..2eecc0ed2a 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1803,6 +1803,52 @@ modules for building a Wayland compositor.")
(sha256
(base32 "00s73nhi3sc48l426jdlqwpclg41kx1hv0yk4yxhbzw19gqpfm1h"))))))
+(define-public wl-mirror
+ (package
+ (name "wl-mirror")
+ (version "0.16.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Ferdi265/wl-mirror")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jdycr9vf5skbf55kbm2hc3zl3qg58x3bb6xqkf9qx14m4ramcdj"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:tests? #f ;No tests.
+ #:configure-flags
+ #~(list "-DINSTALL_DOCUMENTATION=ON"
+ (string-append "-DWL_PROTOCOL_DIR="
+ #$(this-package-input "wayland-protocols")
+ "/share/wayland-protocols")
+ (string-append "-DWLR_PROTOCOL_DIR="
+ #$(this-package-input "wlr-protocols")
+ "/share/wlr-protocols"))))
+ (inputs (list egl-wayland mesa wayland wayland-protocols wlr-protocols))
+ (native-inputs (list pkg-config scdoc))
+ (home-page "https://github.com/Ferdi265/wl-mirror")
+ (synopsis "Simple Wayland output mirror client")
+ (description
+ "This package provides @command{wl-mirror}, a solution to @code{sway}'s
+lack of output mirroring by mirroring an output onto a client surface. It has
+the following features:
+
+@itemize
+@item Mirror an output onto a resizable window.
+@item Mirror an output onto another output by fullscreening the window.
+@item React to changes in output scale (including fractional scaling).
+@item Preserve aspect ratio.
+@item Correct flipped or rotated outputs.
+@item Custom flips or rotations.
+@item Mirror custom regions of outputs.
+@item Receive additional options on stdin for changing the mirrored screen or
+region on the fly.
+@end itemize")
+ (license license:gpl3)))
+
(define-public wmenu
(package
(name "wmenu")