summaryrefslogtreecommitdiffstats
path: root/.scripts/i3cmds
diff options
context:
space:
mode:
authorLuke Smith <luke@lukesmith.xyz>2019-03-08 10:04:26 -0500
committerLuke Smith <luke@lukesmith.xyz>2019-03-08 10:04:26 -0500
commitee570f046c662c30fa001c853753833ab411e3a4 (patch)
tree500a86faf62977f881ef8b87e5f8f976759beddc /.scripts/i3cmds
parent2e1310169e1c929e096ac9e5738ad45557460fa7 (diff)
downloadeibhear-ee570f046c662c30fa001c853753833ab411e3a4.tar.gz
eibhear-ee570f046c662c30fa001c853753833ab411e3a4.tar.zst
eibhear-ee570f046c662c30fa001c853753833ab411e3a4.zip
plumbing: cabl from video
Diffstat (limited to '.scripts/i3cmds')
-rwxr-xr-x.scripts/i3cmds/cabl26
1 files changed, 26 insertions, 0 deletions
diff --git a/.scripts/i3cmds/cabl b/.scripts/i3cmds/cabl
new file mode 100755
index 0000000..3ca6556
--- /dev/null
+++ b/.scripts/i3cmds/cabl
@@ -0,0 +1,26 @@
+#!/bin/bash
+# Dependencies are xclip and xorg-xprop.
+# qrencode required for qrcode generation.
+# groff/zathura required for man pages.
+prim="$(xclip -o)"; [ -z "$prim" ] && exit
+
+PID=$(xprop -id "$(xprop -root | awk '/_NET_ACTIVE_WINDOW\(WINDOW\)/{print $NF}')" | grep -m 1 PID | cut -d " " -f 3)
+PID=$(echo "$(pstree -lpA "$PID" | tail -n 1)" | awk -F'---' '{print $NF}' | sed -re 's/[^0-9]//g')
+cd "$(readlink /proc/"$PID"/cwd)"
+[ -f "$prim" ] && xdg-open "$prim" && exit
+[ -d "$prim" ] && "$TERMINAL" "$prim" && exit
+
+websearch() { "$BROWSER" "https://duckduckgo.com/?q=$@" ;}
+wikipedia() { "$BROWSER" "https://en.wikipedia.org/wiki/$@" ;}
+wiktionary() { "$BROWSER" "https://en.wiktionary.org/wiki/$@" ;}
+maps() { "$BROWSER" "https://www.openstreetmap.org/search?query=$@" ;}
+ebay() { "$BROWSER" "https://www.ebay.com/sch/$@" ;}
+
+echo "$prim" | grep "^.*\.[A-Za-z]\+.*" >/dev/null && gotourl() { "$BROWSER" "$@" ;}
+echo "$prim" | grep "^.*@.*\.[A-Za-z]\+$" >/dev/null && email() { xdg-email "$@" ;}
+command -v qrencode >/dev/null && qrcode() { qrencode "$@" -s 10 -o /tmp/qr.png && xdg-open /tmp/qr.png ;}
+man -k "^$prim$" >/dev/null && manual() { man -Tpdf "$prim" | zathura - ;}
+
+func="$(declare -F | awk '{print $3}' | dmenu -p "Plumb $prim to?" -i -l 15)"
+
+[ -z "$func" ] || "$func" "$prim"