voidrice/.scripts/i3cmds/samedir

28 lines
697 B
Text
Raw Normal View History

2018-12-01 19:34:14 +00:00
#!/bin/sh
# i3 thread: https://faq.i3wm.org/question/150/how-to-launch-a-terminal-from-here/?answer=152#post-id-152
CMD=$TERMINAL
CWD=''
# Get window ID
ID=$(xdpyinfo | grep focus | cut -f4 -d " ")
# Get PID of process whose window this is
2018-12-01 19:34:14 +00:00
PID=$(xprop -id "$ID" | grep -m 1 PID | cut -d " " -f 3)
# Get last child process (shell, vim, etc)
if [ -n "$PID" ]; then
2018-12-01 19:34:14 +00:00
TREE=$(pstree -lpA "$PID" | tail -n 1)
PID=$(echo "$TREE" | awk -F'---' '{print $NF}' | sed -re 's/[^0-9]//g')
# If we find the working directory, run the command in that directory
if [ -e "/proc/$PID/cwd" ]; then
2018-12-01 19:34:14 +00:00
CWD=$(readlink /proc/"$PID"/cwd)
fi
fi
if [ -n "$CWD" ]; then
2018-12-01 19:34:14 +00:00
cd "$CWD" && "$CMD"
else
2018-12-01 19:34:14 +00:00
"$CMD"
fi