diff --git a/bin/i3-shell b/bin/i3-shell index a46c0ce1..0ab46e51 100755 --- a/bin/i3-shell +++ b/bin/i3-shell @@ -6,6 +6,10 @@ CMD=$TERMINAL CWD='' +if [ ! -z "$1" ]; then + CMD="${CMD} -e $1" +fi; + # Get window ID ID=$(xdpyinfo | grep focus | cut -f4 -d " ") @@ -14,16 +18,16 @@ 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') + 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 + if [ -e "/proc/$PID/cwd" ]; then + CWD=$(readlink /proc/$PID/cwd) + fi fi if [ -n "$CWD" ]; then - cd "$CWD" && $CMD + cd "$CWD" && $CMD else - $CMD + $CMD fi