voidrice/.local/bin/linkhandler

29 lines
1.1 KiB
Text
Raw Normal View History

#!/bin/sh
2018-12-03 00:59:20 -05:00
# Feed script a url or file location.
2019-02-02 14:41:22 -05:00
# If an image, it will view in sxiv,
2018-03-09 15:47:03 -07:00
# 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.
# If -c passed, read from clipboard
while getopts 'c' o; do case "${o}" in
c) set "$(xclip -o)";;
esac done
# If no url given. Opens browser. For using script as $BROWSER.
2019-01-02 02:54:34 +01:00
[ -z "$1" ] && { "$BROWSER"; exit; }
case "$1" in
2021-07-31 08:36:45 -03:00
*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*|*videos.lukesmith.xyz*|*odysee.com*)
setsid -f mpv -quiet "$1" >/dev/null 2>&1 ;;
*png|*jpg|*jpe|*jpeg|*gif)
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && sxiv -a "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;;
*pdf|*cbz|*cbr)
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" && zathura "/tmp/$(echo "$1" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;;
*mp3|*flac|*opus|*mp3?source*)
qndl "$1" 'curl -LO' >/dev/null 2>&1 ;;
2018-12-03 00:59:35 -05:00
*)
[ -f "$1" ] && setsid -f "$TERMINAL" -e "$EDITOR" "$1" >/dev/null 2>&1 || setsid -f "$BROWSER" "$1" >/dev/null 2>&1
esac