samedir rm'd xdpyinfo dependency
This commit is contained in:
parent
63f93ae985
commit
a3e25517da
1 changed files with 4 additions and 26 deletions
|
@ -1,27 +1,5 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# i3 thread: https://faq.i3wm.org/question/150/how-to-launch-a-terminal-from-here/?answer=152#post-id-152
|
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')
|
||||||
CMD=$TERMINAL
|
cd "$(readlink /proc/"$PID"/cwd)"
|
||||||
CWD=''
|
"$TERMINAL"
|
||||||
|
|
||||||
# Get window ID
|
|
||||||
ID=$(xdpyinfo | grep focus | cut -f4 -d " ")
|
|
||||||
|
|
||||||
# Get PID of process whose window this is
|
|
||||||
PID=$(xprop -id "$ID" | grep -m 1 PID | cut -d " " -f 3)
|
|
||||||
|
|
||||||
# Get last child process (shell, vim, etc)
|
|
||||||
if [ -n "$PID" ]; then
|
|
||||||
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
|
|
||||||
CWD=$(readlink /proc/"$PID"/cwd)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if [ -n "$CWD" ]; then
|
|
||||||
cd "$CWD" && "$CMD"
|
|
||||||
else
|
|
||||||
"$CMD"
|
|
||||||
fi
|
|
||||||
|
|
Loading…
Reference in a new issue