mod+shift+enter spawns terminal in same dir
This commit is contained in:
parent
bd4bac8870
commit
7bc830c09c
2 changed files with 28 additions and 1 deletions
|
@ -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
|
||||
|
|
27
.scripts/samedir
Executable file
27
.scripts/samedir
Executable file
|
@ -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
|
Loading…
Reference in a new issue