#!/usr/bin/env sh resolve_url() { if [ -f "$1" ]; then local_url="$1" else local_url="/tmp/$(echo "$1" | sed "s/.*\///")" curl -sL "$1" >"$local_url" fi printf "%s" "$local_url" } if [ -z "$1" ]; then url=$(xclip -o -selection clipboard) else url="$1" fi case "$url" in *.mkv* | *.webm* | *.mp4* | *.mp3* | *.ogg* | *.mov* | *.ts* | *.m3u8* | *.gif* | *.m4a* | *youtube.com/watch* | *youtube.com/playlist* | *youtu.be* | *twitch.tv* | *invidio.us* | *lbry* | *streamye.com* | *streamvi.com* | *streamwo.com* | *videos.lukesmith.xyz*) setsid mpv -quiet "$url" >/dev/null 2>&1 & ;; acestream://*) setsid acestream-launcher "$url" >/dev/null 2>&1 & ;; *.png | *.jpg | *.jpe | *.jpeg | *.PNG | *.JGP | *.JPE | *.JPEG) local_url="$(resolve_url "$url")" setsid sxiv -a "$local_url" >/dev/null 2>&1 & ;; *.pdf | *.ps | *.epub) local_url="$(resolve_url "$url")" setsid zathura "$local_url" >/dev/null 2>&1 & ;; *rss* | *feed* | http*.xml | http*.atom) setsid rssadd "$url" >/dev/null 2>&1 & ;; mailto:*) setsid aerc "$url" >/dev/null 2>&1 & ;; *.dot) setsid xdot "$url" >/dev/null 2>&1 & ;; http*) librewolf "$url" >/dev/null 2>&1 & ;; *) "$TERMINAL $EDITOR $1" ;; esac