#!/bin/sh # argument ($1) -> clipboard -> stdin if [ "$WAYLAND_DISPLAY" ] then paste() { wl-paste; } elif [ "$TERMUX_VERSION" ] then paste() { termux-clipboard-get; } else paste() { xclip -o -sel c; } fi inp="$1" [ "${inp:=$(paste)}" ] || inp="$(cat /dev/stdin)" # remove util scheme inp="${inp#*//}" # convert to youtube.com/path url # works for: # - 'youtu.be/watch?v=xxxxxx' # - 'https://piped.video/watch?v=xxxxx' inp="https://youtube.com/${inp#*/}" >&2 printf "inp: %s\n" "$inp" notify-send "ytclipo" "downloading $inp" || : yt-dlp "$inp" \ --restrict-filenames \ --embed-chapters \ -f "b" \ -S "res:1080" \ -P "$HOME/vids/youtube/" \ -o "%(channel)s/%(title)s.%(ext)s" notify-send "ytclipo" "finished downloading." || :