blob: f4e6e3c08059048e1bc478ed23a37a3b9759288a (
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
|
#!/usr/bin/env sh
tmp="/tmp/mmedia"
dirs="$HOME/dl"
concat_path() { sed "s#^$HOME#\~#;s#\([^/]\)[^/]*/#\1/#g"; }
case "$1" in
"video")
regex='^.\+\.\(webm\|mp4\|mpeg\|mkv\)$'
dirs="$dirs $HOME/vids"
viewer() { $PLAYER "$1"; }
;;
"pdf")
regex='^.\+\.\(pdf\)$'
dirs="$dirs $HOME/docs"
viewer() { $VIEWER "$1"; }
;;
"image")
regex='^.\+\.\(png\|avif\|jpg\)$'
dirs="$dirs $HOME/pics"
viewer() { $IMAGE "$1"; }
;;
"cursus")
regex='^.*/[cC]ursus/index.html$'
dirs="$HOME/docs/school/Vakken"
concat_path() { sed "s#$dirs/##;s#/[cC]ursus/index.html##"; }
viewer() { $BROWSER "$1"; }
;;
"schoolpdf")
regex='^.\+\.\(pdf\)$'
dirs="$HOME/docs/school/Vakken"
concat_path() { sed "s#$dirs/##;s#/[cC]ursus/index.html##;s#/Cursus/viewer/files/#: #"; }
viewer() { $VIEWER "$1"; }
;;
"lecture")
dmfm $HOME/docs/lecture
exit
;;
*)
choice="$(
cat <<-EOF | dmenu -g 6 -l 1 -c
video
pdf
image
cursus
schoolpdf
lecture
EOF
)"
[ "$choice" ] || exit 1
"$0" "$choice"
exit
;;
esac
shift
[ "$1" ] && dirs="$1"
choice="$(
find -L $dirs 2>/dev/null |
grep -i "$regex" |
sort | tee "$tmp" |
concat_path |
dmenu -px -c -i -l 10 -g 1 -x
)"
file="$(sed -n "${choice}p" "$tmp")"
[ -r "$file" ] || exit 1
viewer "$file"
|