dots/.local/bin/menu/linkhandler

27 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
feed="${1:-$(printf "%s" | tofi --prompt-text 'Paste URL or file path')}"
case "$feed" in
*mkv|*webm|*mp4|*watch?v*|*youtu.be*|*yewtu.be*|*videos.lukesmith.xyz*|*spacepub.space*|*twitch.tv*)
case "$(printf "yt-dlp\\nyt-dlp (audio)\\nyt-dlp (music)\\nmpv\\nmpv (audio)" | tofi --prompt-text "Handle media with?")" in
"yt-dlp") qndl "$feed" >/dev/null 2>&1 ;;
"yt-dlp (audio)") qndl -a "$feed" >/dev/null 2>&1 ;;
"yt-dlp (music)") qndl -m "$feed" >/dev/null 2>&1 ;;
"mpv") setsid -f "$TERMINAL" -e mpv --quiet "$feed" >/dev/null 2>&1 ;;
"mpv (audio)") setsid -f "$TERMINAL" -e mpv --quiet --no-video "$feed" >/dev/null 2>&1 ;;
esac ;;
*png|*jpg|*jpe|*jpeg|*gif)
curl -sL "$feed" > "/tmp/$(echo "$feed" | sed "s/.*\///;s/%20/ /g")" && setsid -f imv "/tmp/$(echo "$feed" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 ;;
*pdf|*cbz|*cbr)
curl -sL "$feed" > "/tmp/$(echo "$feed" | sed "s/.*\///;s/%20/ /g")" && setsid -f zathura "/tmp/$(echo "$feed" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 ;;
*go.dev*|*lukesmith.xyz*|*drewdevault.com*)
setsid -f "$TERMINAL" -e elinks "$feed" >/dev/null 2>&1 ;;
*ogg|*mp3|*wav)
qndl -a "$feed" >/dev/null 2>&1 ;;
magnet*)
torwrap add "$feed" >/dev/null 2>&1 ;;
*)
setsid -f "$BROWSER" "$feed" >/dev/null 2>&1
esac