Back (Current repo: dotfiles)

my dotfiles to make it easy to transfer my settings
To clone this repository:
git clone https://git.viktor1993.net/dotfiles.git
Log | Download | Files | Refs

twindow (788B)


#!/bin/bash

#A small script to try and open a new terminal window at the working directory of the active window

WINDOW_PID=$(xprop -id $(xdotool getwindowfocus) | grep '_NET_WM_PID' | grep -Eo '[0-9]*$')
PIDS=$(pstree -lpATna "$WINDOW_PID" | grep -oP ',\K\d+' | tac)

for PID in $PIDS; do
    PS_CMD=$(ps -o pgid= -p "$PID")
    PROCESS_GROUP_LEAD=$(ps -o comm= -p "$("${PS_CMD}" | tr -d ' ')")
    CWD=$(readlink /proc/${PID}/cwd)

    #git will point to the repo's root instead of the working directory
    [ "$PROCESS_GROUP_LEAD" = 'git' ] || [ ! -d "$CWD" ] && continue
    #handle processes that show ~ or / instead of the working directory
    [ "$cwd" != "$HOME" ] && [ "$CWD" != '/' ] && break
done

[ "$PWD" != "$CWD" ] && [ -d "$CWD" ] && { cd "$CWD" || exit 1; }
"$TERMINAL"