mirror of
https://github.com/LukeSmithxyz/voidrice.git
synced 2026-03-20 01:37:45 +01:00
Sometimes link passed to linkhandler can be longer than 255 characters long (if link language is Cyrillic for example or when link is generated from image tags), thus it cannot display images or PDFs properly due to internal limit on name length. This small check uses "cut" from GNU coreutils to shorten the URL to 100 chars if it is longer than 255.
30 lines
985 B
Bash
Executable File
30 lines
985 B
Bash
Executable File
#!/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.
|
|
|
|
if [ -z "$1" ]; then
|
|
url="$(xclip -o)"
|
|
else
|
|
url="$1"
|
|
fi
|
|
|
|
link=$(echo $1 | sed 's/.*\///;s/%20/ /g')
|
|
[ ${#link} -ge 255 ] && link=$(echo $link | cut -c 100-)
|
|
|
|
case "$url" in
|
|
*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*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)
|
|
curl -sL "$url" > "/tmp/$link" && sxiv -a "/tmp/$link" >/dev/null 2>&1 & ;;
|
|
*pdf|*cbz|*cbr)
|
|
curl -sL "$url" > "/tmp/$link" && zathura "/tmp/$link" >/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
|