diff options
Diffstat (limited to 'bin/guiscripts/lh')
-rwxr-xr-x | bin/guiscripts/lh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/bin/guiscripts/lh b/bin/guiscripts/lh new file mode 100755 index 0000000..956b99b --- /dev/null +++ b/bin/guiscripts/lh @@ -0,0 +1,33 @@ +#!/bin/sh + +# Feed script a url or file location. +# If an image, it will view in sxiv, +# 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. + +[ "${url:=$1}" ] || url="$(clipo)" +notify-send "linkhandler" "$url" +echo "$url" > ~/file.txt + +case "$url" in + file://*) file="${url##file:/}" + case "$(file -bi "$file" | cut -f1 -d'/')" in + audio|video) mpv "$file" ;; + image) imv "$file" ;; + *) xdg-open "$file" ;; + esac ;; + *mkv|*webm|*mp4|*bitchute.com*|*odysee.com*) mpv "$url" ;; + *youtube.com/watch*|*youtube.com/playlist*|*youtube.com/shorts*|*youtu.be*|*hooktube.com*) mpv "$(ytlink "$url")" ;; + *png|*jpg|*jpe|*jpeg|*gif) curl -sL "$url" | imv - ;; + *pdf|*cbz|*cbr) + curl -sL "$url" > "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" + $VIEWER "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 ;; + *mp3|*flac|*opus|*mp3?source*) + mpv "$url" ;; + *) + if [ -f "$url" ] + then setsid -f "$TERMINAL" -e "$EDITOR" "$url" >/dev/null 2>&1 + else setsid -f "$BROWSER" "$url" >/dev/null 2>&1 + fi +esac |