l: allow piping into sxiv
This commit is contained in:
parent
dae12b6893
commit
a4637e2bb1
@ -79,9 +79,7 @@ in {
|
||||
powertop
|
||||
rxvt-unicode
|
||||
sshvnc
|
||||
(pkgs.writers.writeDashBin "sxiv" ''
|
||||
${pkgs.nsxiv}/bin/nsxiv "$@"
|
||||
'')
|
||||
sxiv
|
||||
nsxiv
|
||||
taskwarrior
|
||||
termite
|
||||
|
27
lass/5pkgs/sxiv/default.nix
Normal file
27
lass/5pkgs/sxiv/default.nix
Normal file
@ -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
|
||||
''
|
Loading…
Reference in New Issue
Block a user