From 97285a431baa1f4ab4e78a52648f872326a01c92 Mon Sep 17 00:00:00 2001 From: Antero Mejr Date: Tue, 26 Jul 2022 16:48:58 -0400 Subject: [PATCH] gnu: Add grimshot. * gnu/packages/wm.scm (grimshot): New variable. Reviewed-by: Maxime Devos Signed-off-by: Liliana Marie Prikler --- gnu/packages/wm.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index f27f8af8d4..fc5c173d00 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -2799,3 +2799,46 @@ Type=Application~%" "Avizo is a simple notification daemon for Sway, mainly intended to be used for multimedia keys.") (license license:gpl3+))) + +(define-public grimshot + (package + (inherit sway) + (name "grimshot") + (source (origin + (inherit (package-source sway)) + (snippet #~(delete-file "contrib/grimshot.1")))) + (build-system copy-build-system) + (arguments + (list #:install-plan #~`(("grimshot" "bin/") + ("grimshot.1" "usr/share/man/man1/")) + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "contrib"))) + (add-after 'chdir 'patch-script-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "grimshot" + (("\\b(date|grim|jq|notify-send|slurp|swaymsg|wl-copy)\\b" + _ binary) + (search-input-file + inputs (string-append "bin/" binary)))))) + (add-after 'patch-script-dependencies 'build-man-page + (lambda _ + (with-input-from-file "grimshot.1.scd" + (lambda _ + (with-output-to-file "grimshot.1" + (lambda _ + (invoke "scdoc")))))))))) + (native-inputs (list scdoc)) + (inputs (list coreutils + grim + jq + libnotify + slurp + sway + wl-clipboard)) + (synopsis "Screenshot utility for the Sway window manager") + (description "Grimshot is a screenshot utility for @code{sway}. It provides +an interface over @code{grim}, @code{slurp} and @code{jq}, and supports storing +the screenshot either directly to the clipboard using @code{wl-copy} or to a +file.")))