blob: 36d120c38bc00da3bbd7b92ccf68ae31c792014f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
#!/bin/dash
# nsxiv pipe
#
# 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
# nsxiv rifle
#
# TMPDIR="${TMPDIR:-/tmp}"
# tmp="$TMPDIR/nsxiv_rifle_$$"
#
# is_img_extension() {
# grep -iE '\.(jpe?g|png|gif|svg|webp|tiff|heif|avif|ico|bmp)$'
# }
#
# listfiles() {
# find -L "$1" -maxdepth 1 -type f -print |
# is_img_extension | sort | tee "$tmp"
# }
#
# open_img() {
# file="$1"; shift;
# # only go through listfiles() if the file has a valid img extension
# if echo "$file" | is_img_extension >/dev/null 2>&1; then
# trap 'rm -f $tmp' EXIT
# count="$(listfiles "///${file%/*}" | grep -nF "$file")"
# fi
# if [ -n "$count" ]; then
# nsxiv -i -n "${count%%:*}" "$@" -- < "$tmp"
# else
# # fallback incase file didn't have a valid extension, or we couldn't
# # find it inside the list
# nsxiv "$@" -- "$file"
# fi
# }
#
# uri2path() {
# python3 - "$@" <<'___HEREDOC'
# from urllib.parse import unquote, urlparse
# from sys import argv
# for arg in argv[1:]:
# print(unquote(urlparse(arg).path))
# ___HEREDOC
# }
#
# [ "$1" = '--' ] && shift
# case "$1" in
# "") echo "Usage: ${0##*/} PICTURES" >&2; exit 1 ;;
# /*) open_img "$1" ;;
# "~"/*) open_img "$HOME/${1#"~"/}" ;;
# file:///*) open_img "$(uri2path "$1")" ;;
# trash:///*)
# trash_dir="${XDG_DATA_HOME:-$HOME/.local/share}/Trash/files"
# open_img "${trash_dir}$(uri2path "$1")" -N "nsxiv_trash"
# ;;
# *) open_img "$PWD/$1" ;;
# esac
# nsxiv url
# cache_dir="${TMPDIR:-/tmp}/nsxiv"
#
# die() {
# [ -n "$1" ] && printf '%s\n' "$*" >&2;
# exit 1
# }
#
# cleanup() {
# rm -f -- "$cache_dir"/*
# }
#
# get_image() (
# cd "$cache_dir" && curl -sSLO "$1"
# )
#
# ### main ###
#
# [ -z "$1" ] && die "No arguments given"
# trap cleanup EXIT
# [ -d "$cache_dir" ] || mkdir -p -- "$cache_dir" || die
# while [ -n "$1" ]; do
# case "$1" in
# *://*.*) get_image "$1" ;;
# *) echo "Invalid url: $1" >&2 ;;
# esac
# shift
# done
#
# [ "$(find "$cache_dir" -type f -print | wc -l)" -ne 0 ] &&
# nsxiv -p "$cache_dir"
nsxiv
|