bin/scripts/linkhandler
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
#!/bin/sh # Feed script a url or file location. # If an image, it will view in feh, # if a video or gif, it will view in mpv # if a music file or pdf, it will download, # otherwise it opens link in browser. # Sci-Hub's domain occasionally changes due to shutdowns: scihub="http://sci-hub.tw/" # TRUEBROWSER=$BROWSER TRUEBROWSER="chromium" # If no url given. Opens browser. For using script as $BROWSER. [ -z "$1" ] && { "$TRUEBROWSER"; exit; } ytdlfmt="bestvideo[height<=480]+bestaudio/best[height<=480]" case "$1" in *mkv|*webm|*mp4|*gif) setsid mpv -quiet "$1" >/dev/null 2>&1 & ;; *youtube.com*|*youtu.be*|*videos.lukesmith.xyz*) # cq="" # q=$(echo -en "1080p\n720p\n480p\n360p\n240p" | dmenu $DMENU_ARGS\ # -p 'Quality ') # case $q in # "1080p") cq="-1" ;; # "720p") cq="-7" ;; # "480p") cq="-4" ;; # "360p") cq="-3" ;; # "240p") cq="-2" ;; # "") q="default";; # esac # notify-send -i youtube "Playing youtube video in $q quality" setsid mpv --ytdl-format=$ytdlfmt --quiet "$1" >/dev/null 2>&1 & ;; # setsid youtube-viewer $cq "$1" >/dev/null 2>&1 & ;; *png|*jpg|*jpe|*jpeg) setsid feh "$1" >/dev/null 2>&1 & ;; *mp3|*flac|*opus|*mp3?source) # setsid tsp curl -LO "$1" >/dev/null 2>&1 & ;; setsid st -e mpv "$1" >/dev/null 2>&1 & ;; *springer.com*) setsid curl -sO "$(curl -s "$scihub$*" | grep -Po "(?<=location.href=').+.pdf")" >/dev/null 2>&1 & ;; *) if [ -f "$1" ]; then "$TERMINAL" -e "$EDITOR $1" else setsid "$TRUEBROWSER" "$1" >/dev/null 2>&1 & fi ;; esac