summaryrefslogtreecommitdiff
path: root/scripts/dmenuhandler
blob: bda8b47df76099aa21e2c7bc03f38361d5145c16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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