dotfiles

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 7bc830c09cfc5d8a978503e2f81a27d633299991
parent bd4bac8870ade1ae05e49c9aab24ee75a5c66722
Author: Luke Smith <luke@lukesmith.xyz>
Date:   Tue,  3 Jul 2018 10:48:25 -0400

mod+shift+enter spawns terminal in same dir

Diffstat:
M.config/i3/config | 2+-
A.scripts/samedir | 27+++++++++++++++++++++++++++
2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/.config/i3/config b/.config/i3/config @@ -73,7 +73,7 @@ set $hibernate sudo systemctl suspend # #---Basic Bindings---# # bindsym $mod+Return exec $term -##bindsym $mod+Shift+Return +bindsym $mod+Shift+Return exec samedir bindsym $mod+Shift+space floating toggle bindsym $mod+space focus mode_toggle diff --git a/.scripts/samedir b/.scripts/samedir @@ -0,0 +1,27 @@ +#!/bin/bash +# 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 +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