Post #2176256
2026-02-22 22:52 UTC
I have a similar scriptlet that I use to open YouTube URLs in mpv, using [just](https://github.com/casey/just) and [wl-clipboard](https://github.com/bugaevc/wl-clipboard)... I just copy the URL and press my G1 key (it has a keybind of `just yt-paste` attached) which launches the yt-paste snippet below, reads the url from the clipboard, parses it and passes it to mpv.
```bash
# Parse the clipboard for YouTube URLs and open them in mpv
yt-paste:
#!/usr/bin/env bash
YOUTUBE_URL_REGEX="^https:\/\/(www\.youtube\.com\/watch\?v=|youtu\.be\/)[a-zA-Z0-9_-]{11}"
YOUTUBE_PLAYLIST_URL_REGEX="^https:\/\/(www\.youtube\.com\/playlist\?list=)[a-zA-Z0-9_-]+"
YOUTUBE_SHORTS_URL_REGEX="^https:\/\/(www\.youtube\.com\/shorts\/)[a-zA-Z0-9_-]{11}"
# Youtube URL
if [[ "$(wl-paste)" =~ $YOUTUBE_URL_REGEX ]]; then
echo "Opening valid YouTube URL" >&2
notify-send --app-name="YT-Paste" --icon=mpv --transient "Opening YouTube URL"
mpv "$(wl-paste)"
# Youtube Playlist URL
elif [[ "$(wl-paste)" =~ $YOUTUBE_PLAYLIST_URL_REGEX ]]; then
echo "Opening valid YouTube Playlist URL" >&2
notify-send --app-name="YT-Paste" --icon=mpv --transient "Opening YouTube Playlist URL"
mpv "$(wl-paste)"
# Youtube Short URL
elif [[ "$(wl-paste)" =~ $YOUTUBE_SHORTS_URL_REGEX ]]; then
echo "Opening valid YouTube Shorts URL" >&2
notify-send --app-name="YT-Paste" --icon=mpv --transient "Opening YouTube Shorts URL"
mpv "$(wl-paste)"
# No Match
else
echo "Clipboard does not contain a valid YouTube URL" >&2
notify-send --app-name="YT-Paste" --icon=mpv --transient "Whoops!" "Clipboard does not contain a valid YouTube URL"
exit 1
fi
```
Replies (0)
No replies.