summaryrefslogtreecommitdiff
path: root/scripts/dmenuhandler
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/dmenuhandler')
-rwxr-xr-xscripts/dmenuhandler40
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