diff options
Diffstat (limited to 'scripts/dmenuhandler')
| -rwxr-xr-x | scripts/dmenuhandler | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/scripts/dmenuhandler b/scripts/dmenuhandler new file mode 100755 index 0000000..b3eb9c8 --- /dev/null +++ b/scripts/dmenuhandler @@ -0,0 +1,40 @@ +#!/bin/sh +# Feed this script a link and it will give dmenu +# some choice programs to use to open it. + +FEED="${1:-$(printf "" | dmenu -p 'Paste URL or file path')}" + +[ -z "$FEED" ] && exit + +case "$(printf '%s\nbrowser\nmusic\nmpv\nmpv loop\nnsxiv\nPDF\nvim\nyt-dlp\nmusic-dlp' "$FEED" | dmenu -i -p "Open with ")" in + "$FEED") + printf '%s\n' "$FEED" | xclip -selection clipboard ;; # Copy URL + browser) + setsid -f "$BROWSER" "$FEED" >/dev/null 2>&1 ;; + music) + setsid -f music "$FEED" >/dev/null 2>&1 ;; + mpv) + setsid -f mpv --quiet --ytdl-format="bv,ba" "$FEED" >/dev/null 2>&1 ;; + "mpv loop") + setsid -f mpv --quiet --ytdl-format="bv,ba" --loop "$FEED" >/dev/null 2>&1 ;; + nsxiv) + curl -sL "$FEED" > "/tmp/$(echo "$FEED" | sed "s/.*\///;s/%20/ /g")" && + nsxiv -a "/tmp/$(echo "$FEED" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 ;; + PDF) + curl -sL "$FEED" > "/tmp/$(echo "$FEED" | sed "s/.*\///;s/%20/ /g")" && + zathura "/tmp/$(echo "$FEED" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 ;; + vim) + curl -sL "$FEED" > "/tmp/$(echo "$FEED" | sed "s/.*\///;s/%20/ /g")" && + setsid -f "$TERMINAL" -e "$EDITOR" "/tmp/$(echo "$FEED" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 ;; + yt-dlp) + setsid -f ytdl v "$FEED" >/dev/null 2>&1 ;; + music-dlp) + if [ "$(printf 'no\nyes' | dmenu -i -p 'Playlist?')" = "yes" ]; then + setsid -f ytdl p "$FEED" >/dev/null 2>&1 + else + setsid -f ytdl m "$FEED" >/dev/null 2>&1 + fi + #setbg) + # curl -sL "$FEED" > "$XDG_CACHE_HOME/pic" && + # hsetroot -cover "$XDG_CACHE_HOME/pic" >/dev/null 2>&1 ;; +esac
\ No newline at end of file |
