diff options
Diffstat (limited to 'nsxiv_utils/nsxiv-pipe')
-rwxr-xr-x | nsxiv_utils/nsxiv-pipe | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/nsxiv_utils/nsxiv-pipe b/nsxiv_utils/nsxiv-pipe new file mode 100755 index 0000000..31a5216 --- /dev/null +++ b/nsxiv_utils/nsxiv-pipe @@ -0,0 +1,24 @@ +#!/bin/sh + +tmpfile="${TMPDIR:-/tmp}/nsxiv_pipe_$$" +trap 'rm -f -- $tmpfile' EXIT + +if [ "$#" -eq 0 ]; then + if [ -t 0 ]; then + echo "nsxiv-pipe: 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 -q "$@" "$tmpfile" # -q to silence warnings +else + nsxiv "$@" # fallback +fi |