#!/bin/sh # Test and open a clipboard URL with an apt program # Check arguments if [ "$#" -eq 0 ] ; then printf 2>&1 'xgo: At least one URL required\n' fi # Iterate over the URL arguments for url ; do ( # If it's a YouTube video without a given start time, load it in mpv(1) case $url in *[/.]youtube.com/watch*[?\&]t=) ;; *[/.]youtube.com/watch*) mpv -- "$url" && exit ;; https://github.com/*/blob/*) url=$(printf '%s\n' "$url" | sed 's_/blob/_/raw/_') ;; *://imgur.com/*) url=$(printf '%s\n' "$url" | sed 's_imgur\.com_i.imgur.com_;s/$/.jpg/') ;; esac # Get the MIME type data mt=$(urlmt "$url") # If the MIME type is an image, load it in feh(1) case $mt in audio/*|video/*) mpv --force-window -- "$url" && exit ;; image/gif) ;; image/*) curl -- "$url" | feh - && exit ;; text/plain) # shellcheck disable=SC2016 urxvt -e sh -c 'curl -- "$1" | view -' \ _ "$url" && exit ;; esac # Otherwise, just pass it to br(1) br "$url" ) & done