Repository navigation
Expand file tree
/
Copy pathdmenuhandler
More file actions
executable file
·84 lines (67 loc) · 1.87 KB
/
Copy pathdmenuhandler
File metadata and controls
executable file
·84 lines (67 loc) · 1.87 KB
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/sh
feed="${1:-$(dmenu -p 'Paste URL or file path')}"
[ -z "$feed" ] && exit 1
: "${TERMINAL:=xterm}"
: "${EDITOR:=vim}"
: "${BROWSER:=firefox}"
: "${XDG_CACHE_HOME:=$HOME/.cache}"
# Funciones para acciones comunes
copy_url() {
echo "$feed" | xclip -selection clipboard
}
mpv_play() {
setsid -f mpv -quiet "$feed" >/dev/null 2>&1
}
mpv_loop() {
setsid -f mpv -quiet --loop "$feed" >/dev/null 2>&1
}
mpv_float() {
setsid -f "$TERMINAL" -e mpv --geometry=+0-0 --autofit=30% --title="mpvfloat" "$feed" >/dev/null 2>&1
}
queue_yt_dlp() {
qndl "$feed" >/dev/null 2>&1
}
queue_yt_dlp_audio() {
qndl "$feed" 'yt-dlp -o "%(title)s.%(ext)s" -f bestaudio --embed-metadata --restrict-filenames' >/dev/null 2>&1
}
queue_download() {
qndl "$feed" 'curl -LO' >/dev/null 2>&1
}
open_pdf() {
zathura-url "$feed" >/dev/null 2>&1 &
}
open_nsxiv() {
nsxiv-url "$feed" >/dev/null 2>&1 &
}
edit_with_vim() {
filename="/tmp/$(basename "${feed}" | sed 's/%20/ /g')"
curl -sL "$feed" -o "$filename" && setsid -f "$TERMINAL" -e "$EDITOR" "$filename" >/dev/null 2>&1
}
set_background() {
pic="$XDG_CACHE_HOME/pic"
curl -L "$feed" -o "$pic" && xwallpaper --zoom "$pic" >/dev/null 2>&1
}
open_browser() {
setsid -f "$BROWSER" "$feed" >/dev/null 2>&1
}
open_lynx() {
lynx "$feed" >/dev/null 2>&1
}
# Menu
choice=$(printf "copy url\nnsxiv\nsetbg\nPDF\nbrowser\nlynx\nvim\nmpv\nmpv loop\nmpv float\nqueue download\nqueue yt-dlp\nqueue yt-dlp audio" | dmenu -i -p "Open it with?")
case "$choice" in
"copy url") copy_url ;;
"mpv") mpv_play ;;
"mpv loop") mpv_loop ;;
"mpv float") mpv_float ;;
"queue yt-dlp") queue_yt_dlp ;;
"queue yt-dlp audio") queue_yt_dlp_audio ;;
"queue download") queue_download ;;
"PDF") open_pdf ;;
"nsxiv") open_nsxiv ;;
"vim") edit_with_vim ;;
"setbg") set_background ;;
"browser") open_browser ;;
"lynx") open_lynx ;;
*) exit 1 ;;
esac