Make linkhandler more robust

Sometimes sites don't add the filetype to the URL. When this is the case, the file gets downloaded from the website and gets checked locally what filetype it is. Afterwards it gets opened with the right application.
This commit is contained in:
krisdoodle45 2021-11-21 16:45:32 +01:00 committed by GitHub
parent 499aeaed3a
commit 31687107ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -19,5 +19,21 @@ case "$1" in
*mp3|*flac|*opus|*mp3?source*)
qndl "$1" 'curl -LO' >/dev/null 2>&1 ;;
*)
[ -f "$1" ] && setsid -f "$TERMINAL" -e "$EDITOR" "$1" >/dev/null 2>&1 || setsid -f "$BROWSER" "$1" >/dev/null 2>&1
urlcode=$(echo "$1" | sed "s/.*\///;s/%20/ /g")
curl -sL "$1" > "/tmp/$urlcode"
fileinfo=$(file -ib "/tmp/$urlcode")
case "$fileinfo" in
video*)
setsid -f mpv -quiet "/tmp/$urlcode" >/dev/null 2>&1 ;;
image*)
sxiv -a "/tmp/$urlcode" >/dev/null 2>&1 & ;;
application/pdf*|application/x-zip*|application/x-rar*)
zathura "/tmp/$urlcode" >/dev/null 2>&1 & ;;
audio*)
mv "/tmp/$urlcode" . >/dev/null 2>&1 ;;
*)
[ -f "$1" ] && setsid -f "$TERMINAL" -e "$EDITOR" "$1" >/dev/null 2>&1 || setsid -f "$BROWSER" "$1" >/dev/null 2>&1
esac
esac