aboutsummaryrefslogtreecommitdiff
path: root/bin/xgo
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2016-08-14 21:18:45 +1200
committerTom Ryder <tom@sanctum.geek.nz>2016-08-14 21:18:45 +1200
commit974da7f15d5f8c50ca9b42a16f5a590704d0aa3a (patch)
tree826cd3034e3900a17208120cebc5ec71aaad1073 /bin/xgo
parentRemove unneeded options from dmenu_run (diff)
downloaddotfiles-974da7f15d5f8c50ca9b42a16f5a590704d0aa3a.tar.gz
dotfiles-974da7f15d5f8c50ca9b42a16f5a590704d0aa3a.zip
Refactor br(1), brxs(1), add xgo(1) and xgoc(1)
Including updating keybindings
Diffstat (limited to 'bin/xgo')
-rwxr-xr-xbin/xgo33
1 files changed, 33 insertions, 0 deletions
diff --git a/bin/xgo b/bin/xgo
new file mode 100755
index 00000000..56bbb0f9
--- /dev/null
+++ b/bin/xgo
@@ -0,0 +1,33 @@
+#!/bin/sh
+# Test and open a clipboard URL with an apt program
+
+# Check arguments
+if [ "$#" -eq 0 ] ; then
+ printf 2>&1 'xgo: At least one URL required\n'
+fi
+
+# Iterate over the URL arguments
+for url ; do (
+
+ # If it's a YouTube video without a given start time, load it in mpv(1)
+ case $url in
+ *youtube.com/watch*[?\&]t=) ;;
+ *youtube.com/watch*)
+ mpv -- "$url" && continue
+ ;;
+ esac
+
+ # If the MIME type is an image, load it in feh(1)
+ case $mt in
+ image/gif) ;;
+ image/*)
+ curl -- "$url" | feh - && continue
+ ;;
+ esac
+
+ # Get the MIME type data
+ mt=$(urlmt "$url")
+
+ # Otherwise, just pass it to br(1)
+ br "$url"
+) & done