diff options
| author | Rokosun <79040025+futureisfoss@users.noreply.github.com> | 2022-11-16 16:04:26 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-11-16 16:04:26 +0000 |
| commit | 0efa08107c72947730e06aaea896c42e174b831e (patch) | |
| tree | 72aab57343d521dd7baaeccb35bdb3f90e77103a | |
| parent | d6616cf08b8b7af26050f993bd2c0b742fbe78fe (diff) | |
| download | eibhear-0efa08107c72947730e06aaea896c42e174b831e.tar.gz eibhear-0efa08107c72947730e06aaea896c42e174b831e.tar.zst eibhear-0efa08107c72947730e06aaea896c42e174b831e.zip | |
Improve sd script (#1235)
* Improve sd script
Now sd will also work on apps like mpv and zathura
* Fix sd script not working on firefox
| -rwxr-xr-x | .local/bin/sd | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/.local/bin/sd b/.local/bin/sd index 7e09bf6..8047d33 100755 --- a/.local/bin/sd +++ b/.local/bin/sd @@ -2,10 +2,8 @@ # 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 +PID=$(xprop -id "$(xprop -root | sed -n "/_NET_ACTIVE_WINDOW/ s/^.*# // p")" | sed -n "/PID/ s/^.*= // p") +PID=$(pstree -lpATna "$PID" | grep -v '\-\(lf,[0-9]\+ -server\|(st-urlhandler,[0-9]\+)\|xclip,[0-9]\+\)' | sed '$s/.*,\([0-9]\+\).*/\1/;t;d') +cwd=$(readlink /proc/"$PID"/cwd) +[ "$PWD" != "$cwd" ] && [ -d "$cwd" ] && { cd "$cwd" || exit 1; } "$TERMINAL" |
