summaryrefslogtreecommitdiff
path: root/.local/bin/sd
diff options
context:
space:
mode:
Diffstat (limited to '.local/bin/sd')
-rwxr-xr-x.local/bin/sd11
1 files changed, 11 insertions, 0 deletions
diff --git a/.local/bin/sd b/.local/bin/sd
new file mode 100755
index 0000000..7e09bf6
--- /dev/null
+++ b/.local/bin/sd
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Open a terminal window in the same directory as the currently active window.
+
+PID=$(xprop -id "$(xprop -root | xprop -root | sed -n "/_NET_ACTIVE_WINDOW/ s/^.*# // p")" | sed -n "/PID/ s/^.*= // p")
+PID="$(pstree -lpA "$PID")"
+PID="${PID##*"${SHELL##*/}"(}"
+PID="${PID#*lf(}"
+PID="${PID%%)*}"
+cd "$(readlink /proc/"$PID"/cwd)" || return 1
+"$TERMINAL"