summaryrefslogtreecommitdiff
path: root/bin/guiscripts/lh
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2024-03-11 11:07:59 +0100
committerRaymaekers Luca <raymaekers.luca@gmail.com>2024-03-11 11:07:59 +0100
commitbfeeb48f551dcef96819eb124aa72241656c393b (patch)
tree08b2cb0f684ca069397cabd6433ac70a47edbb86 /bin/guiscripts/lh
parent49461617903c19c98cadac9da510a011a524ff59 (diff)
refactor
Diffstat (limited to 'bin/guiscripts/lh')
-rwxr-xr-xbin/guiscripts/lh33
1 files changed, 33 insertions, 0 deletions
diff --git a/bin/guiscripts/lh b/bin/guiscripts/lh
new file mode 100755
index 0000000..956b99b
--- /dev/null
+++ b/bin/guiscripts/lh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+# Feed script a url or file location.
+# If an image, it will view in sxiv,
+# 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.
+
+[ "${url:=$1}" ] || url="$(clipo)"
+notify-send "linkhandler" "$url"
+echo "$url" > ~/file.txt
+
+case "$url" in
+ file://*) file="${url##file:/}"
+ case "$(file -bi "$file" | cut -f1 -d'/')" in
+ audio|video) mpv "$file" ;;
+ image) imv "$file" ;;
+ *) xdg-open "$file" ;;
+ esac ;;
+ *mkv|*webm|*mp4|*bitchute.com*|*odysee.com*) mpv "$url" ;;
+ *youtube.com/watch*|*youtube.com/playlist*|*youtube.com/shorts*|*youtu.be*|*hooktube.com*) mpv "$(ytlink "$url")" ;;
+ *png|*jpg|*jpe|*jpeg|*gif) curl -sL "$url" | imv - ;;
+ *pdf|*cbz|*cbr)
+ curl -sL "$url" > "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")"
+ $VIEWER "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 ;;
+ *mp3|*flac|*opus|*mp3?source*)
+ mpv "$url" ;;
+ *)
+ if [ -f "$url" ]
+ then setsid -f "$TERMINAL" -e "$EDITOR" "$url" >/dev/null 2>&1
+ else setsid -f "$BROWSER" "$url" >/dev/null 2>&1
+ fi
+esac