summaryrefslogtreecommitdiff
path: root/ar/.local/bin/mpvplay
diff options
context:
space:
mode:
authorTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-03-08 16:02:57 +0900
committerTheSiahxyz <164138827+TheSiahxyz@users.noreply.github.com>2025-03-08 16:02:57 +0900
commitfb8c9e4eeb062a99f3b7232433c4ba8bb0917ea5 (patch)
tree3726df22cd237ad627ab99f6dc96886bc32fedd1 /ar/.local/bin/mpvplay
parentaf60476d30fb0003963ee10d0b53869f89c72f89 (diff)
updates
Diffstat (limited to 'ar/.local/bin/mpvplay')
-rwxr-xr-xar/.local/bin/mpvplay26
1 files changed, 17 insertions, 9 deletions
diff --git a/ar/.local/bin/mpvplay b/ar/.local/bin/mpvplay
index 32d229f..2742099 100755
--- a/ar/.local/bin/mpvplay
+++ b/ar/.local/bin/mpvplay
@@ -7,18 +7,26 @@ check_mount() { findmnt "$HOME/Private" >/dev/null || $MOUNT_SCRIPT; }
check_unmount() { findmnt "$HOME/Private" >/dev/null && $MOUNT_SCRIPT; }
+loginurl() {
+ notify-send "🔑 Authentication required"
+ username="$(echo | dmenu -i -p "Enter a username:")"
+ password="$(echo | dmenu -i -P -p "Enter a password:")"
+ if [ -n "$username" ] && [ -n "$password" ]; then
+ mpv --ytdl-raw-options=username="$username",password="$password" "$url"
+ else
+ notify-send "❌ Failed to play $url" "❗ Check your username or password"
+ exit 1
+ fi
+}
+
play_url() {
url=$(xclip -selection clipboard -o)
[ -n "$url" ] && echo "$url" | grep -E '^https?://' >/dev/null || return 1
- notify-send "📽️ Playing video from URL:" "$url"
- if ! mpv "$url"; then
- notify-send "🔑 Authentication required"
- username="$(echo | dmenu -i -p "Enter a username:")"
- [ -z "$username" ] && exit 1
- password="$(echo | dmenu -i -P -p "Enter a password:")"
- [ -z "$password" ] && exit 1
- [ -n "$username" ] && [ -n "$password" ] && mpv --ytdl-raw-options=username="$username",password="$password" "$url" ||
- notify-send "❌ Failed to play $url" "❗ Check your username or password"
+ if yt-dlp --simulate --dump-json "$url" >/dev/null 2>&1; then
+ mpv "$url"
+ notify-send "📽️ Playing video from URL:" "$url"
+ else
+ loginurl
fi
}