#!/bin/sh # Feed this script a link and it will give dmenu # some choice programs to use to open it. if echo "$1" | grep -q "4chan"; then choice="$(printf "mpv\\ncopy url\\nqueue download\\nqueue youtube-dl\\nbrowser\\nwatch thread\\nrip media\\ncast" | dmenu -i -p "Open link with what program?")" else choice="$(printf "mpv\\ncopy url\\nqueue download\\nqueue youtube-dl\\nbrowser\\nrip media\\ncast" | dmenu -i -p "Open link with what program?")" fi case "$choice" in "copy url") echo "$1" | xclip -selection clipboard ;; mpv) setsid mpv --quiet --ytdl-format='bestvideo[height<=1080]+bestaudio/best[height<=1080]' "$1" & ;; "mpv (loop)") setsid mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) -quiet --loop "$1" >/dev/null 2>&1 & ;; "queue download") name="$( dmenuinput 'Name for file:' )" [ -z "$name" ] && tsp curl -C - -LO "$1" >/dev/null 2>&1 tsp curl -C - -L -o $name "$1" >/dev/null 2>&1 ;; "queue youtube-dl") youtube-dl --add-metadata -i -o $HOME/'%(upload_date)s-%(title)s.%(ext)s' "$1" >/dev/null 2>&1;; cast) setsid $TERMINAL -e mkchromecast -y $1 --video --control ;; browser) setsid "$BROWSER" "$1" >/dev/null 2>&1 & ;; #feh) setsid feh "$1" >/dev/null 2>&1 & ;; #w3m) w3m "$1" >/dev/null 2>&1 ;; #"mpv (float)") setsid mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) --geometry=+0-0 --autofit=30% --title="mpvfloat" "$1" >/dev/null 2>&1 & ;; "watch thread") dest="$(dmenuinput 'name of folder:')" threadwatcher add "$1" "$dest" notify-send "dmenuhandler" "Thread watcher started. Download initialized.";; "rip media") dest="$(dmenuinput 'name of folder:')" lynx --dump --nonumbers --listonly "$1" | grep -E "\.(webm|mp4|gif|jpg|jpeg|png|pdf|epub|mobi|djvu)" | sort -u | xargs wget -P "$HOME/$dest" notify-send "dmenuhandler" "all media ripped into $dest";; esac