aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_local/bin/executable_linkhandler
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-04-21 01:23:18 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-04-21 01:23:18 +0100
commitd00bf2cb2d5087164fa509a4f20a2be62a519044 (patch)
treee788986ca341fa7a9d7327b48c58d2e0c0c43115 /dot_local/bin/executable_linkhandler
parent9b2af4dd6c73ea57cc921f41120db7a2700e806d (diff)
downloaddotfiles-d00bf2cb2d5087164fa509a4f20a2be62a519044.tar.gz
dotfiles-d00bf2cb2d5087164fa509a4f20a2be62a519044.tar.bz2
dotfiles-d00bf2cb2d5087164fa509a4f20a2be62a519044.zip
refactor: restructure to chezmoi source state
Rename home/ contents to chezmoi naming conventions: - dot_ prefix for dotfiles and dot-dirs - private_dot_ for .gnupg and .ssh directories - private_ for 0600 files (nym.pub) - executable_ for scripts in .local/bin and display-toggle.sh - symlink_ for mimeapps.list symlink
Diffstat (limited to 'dot_local/bin/executable_linkhandler')
-rwxr-xr-xdot_local/bin/executable_linkhandler49
1 files changed, 49 insertions, 0 deletions
diff --git a/dot_local/bin/executable_linkhandler b/dot_local/bin/executable_linkhandler
new file mode 100755
index 0000000..e91da50
--- /dev/null
+++ b/dot_local/bin/executable_linkhandler
@@ -0,0 +1,49 @@
+#!/usr/bin/env sh
+
+resolve_url() {
+ if [ -f "$1" ]; then
+ local_url="$1"
+ else
+ local_url="/tmp/$(echo "$1" | sed "s/.*\///")"
+ curl -sL "$1" >"$local_url"
+ fi
+ printf "%s" "$local_url"
+}
+
+if [ -z "$1" ]; then
+ url=$(wl-paste)
+else
+ url="$1"
+fi
+
+case "$url" in
+*.mkv* | *.webm* | *.mp4* | *.mp3* | *.ogg* | *.mov* | *.ts* | *.m3u8* | *.gif* | *.m4a* | *youtube.com/watch* | *youtube.com/playlist* | *youtu.be* | *twitch.tv* | *invidio.us* | *lbry* | *streamye.com* | *streamvi.com* | *streamwo.com* | *videos.lukesmith.xyz*)
+ setsid mpv -quiet "$url" >/dev/null 2>&1 &
+ ;;
+acestream://*)
+ setsid acestream-launcher "$url" >/dev/null 2>&1 &
+ ;;
+*.png | *.jpg | *.jpe | *.jpeg | *.PNG | *.JPG | *.JPE | *.JPEG)
+ local_url="$(resolve_url "$url")"
+ setsid imv "$local_url" >/dev/null 2>&1 &
+ ;;
+*.pdf | *.ps | *.epub)
+ local_url="$(resolve_url "$url")"
+ setsid zathura "$local_url" >/dev/null 2>&1 &
+ ;;
+*rss* | *feed* | http*.xml | http*.atom)
+ setsid rssadd "$url" >/dev/null 2>&1 &
+ ;;
+mailto:*)
+ setsid aerc "$url" >/dev/null 2>&1 &
+ ;;
+*.dot)
+ setsid xdot "$url" >/dev/null 2>&1 &
+ ;;
+http*)
+ librewolf "$url" >/dev/null 2>&1 &
+ ;;
+*)
+ $TERMINAL -e "$EDITOR" "$1"
+ ;;
+esac