summaryrefslogtreecommitdiff
path: root/linkhandler
diff options
context:
space:
mode:
authorunknown <“filip.rabiega@gmail.com”>2026-08-07 10:37:14 +0200
committerunknown <“filip.rabiega@gmail.com”>2026-08-07 10:37:14 +0200
commit9f9a57cf255c58fe44bb343b4a150a6a8f7fdc31 (patch)
tree16503e36498e5c4866d59b627e4b77a51a181017 /linkhandler
parent940118eba8178d177eec73ab100ceacdb2526715 (diff)
downloadchadscripts-9f9a57cf255c58fe44bb343b4a150a6a8f7fdc31.tar.gz
chadscripts-9f9a57cf255c58fe44bb343b4a150a6a8f7fdc31.tar.bz2
chadscripts-9f9a57cf255c58fe44bb343b4a150a6a8f7fdc31.zip
add dfm and linkhandlerHEADmaster
Diffstat (limited to 'linkhandler')
-rwxr-xr-xlinkhandler31
1 files changed, 31 insertions, 0 deletions
diff --git a/linkhandler b/linkhandler
new file mode 100755
index 0000000..c7ae32e
--- /dev/null
+++ b/linkhandler
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+# Feed script a url or file location.
+# If an image, it will view in nsxiv,
+# if a video or gif, it will view in mpv
+# if a music file or pdf, it will download,
+# otherwise it opens link in browser.
+
+if [ -z "$1" ]; then
+ url="$(xclip -o)"
+else
+ url="$1"
+fi
+
+case "$url" in
+*mkv | *webm | *mp4 | *youtube.com/watch* | *youtube.com/playlist* | *youtube.com/shorts* | *youtu.be* | *hooktube.com* | *bitchute.com* | *videos.lukesmith.xyz* | *odysee.com*)
+ setsid -f mpv -quiet "$url" >/dev/null 2>&1
+ ;;
+*png | *jpg | *jpe | *jpeg | *gif | *webp)
+ curl -sL "$url" >"/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" && nsxiv -a "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 &
+ ;;
+*pdf | *cbz | *cbr)
+ curl -sL "$url" >"/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" && zathura "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 &
+ ;;
+*mp3 | *flac | *opus | *mp3?source*)
+ qndl "$url" 'curl -LO' >/dev/null 2>&1
+ ;;
+*)
+ [ -f "$url" ] && setsid -f "$TERMINAL" -e "$EDITOR" "$url" >/dev/null 2>&1 || setsid -f "$BROWSER" "$url" >/dev/null 2>&1
+ ;;
+esac