diff options
author | tv <tv@krebsco.de> | 2022-11-29 19:54:28 +0100 |
---|---|---|
committer | tv <tv@krebsco.de> | 2022-11-29 19:54:28 +0100 |
commit | 43428ccca56bdf10572f1c93ebafa82cfdf7dbf5 (patch) | |
tree | b6c79e4f047ccb8842c9e5f7b73688ccbc5ff053 /lass/5pkgs/sxiv/default.nix | |
parent | 5c05e2a9b68b01e1f0f69a1e4414bce21a801f1f (diff) | |
parent | 32b23666d15861f6f4d8b1f522ee53d4f21fabb6 (diff) |
Merge remote-tracking branch 'prism/master'
Diffstat (limited to 'lass/5pkgs/sxiv/default.nix')
-rw-r--r-- | lass/5pkgs/sxiv/default.nix | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lass/5pkgs/sxiv/default.nix b/lass/5pkgs/sxiv/default.nix new file mode 100644 index 000000000..04fc1c3f6 --- /dev/null +++ b/lass/5pkgs/sxiv/default.nix @@ -0,0 +1,27 @@ +{ nsxiv, writers }: + +writers.writeDashBin "sxiv" '' + set -efu + tmpfile="''${TMPDIR:-/tmp}/nsxiv_pipe_$$" + trap 'rm -f -- $tmpfile' EXIT + + if [ "$#" -eq 0 ]; then + if [ -t 0 ]; then + echo "sxiv: No arguments provided" >&2; exit 1 + else + # Consume stdin and put it in the temporal file + cat > "$tmpfile" + fi + fi + + for arg in "$@"; do + # if it's a pipe then drain it to $tmpfile + [ -p "$arg" ] && cat "$arg" > "$tmpfile" + done + + if [ -s "$tmpfile" ]; then + ${nsxiv}/bin/nsxiv -q "$@" "$tmpfile" # -q to silence warnings + else + ${nsxiv}/bin/nsxiv "$@" # fallback + fi +'' |