summaryrefslogtreecommitdiff
path: root/shell-scripts/kakup
diff options
context:
space:
mode:
Diffstat (limited to 'shell-scripts/kakup')
-rwxr-xr-xshell-scripts/kakup22
1 files changed, 15 insertions, 7 deletions
diff --git a/shell-scripts/kakup b/shell-scripts/kakup
index 3b4e992..e9ae3d7 100755
--- a/shell-scripts/kakup
+++ b/shell-scripts/kakup
@@ -9,16 +9,24 @@ session-or-client() {
export name=${PWD#$HOME/}
export name=${name//\//-}
export client=kakoune@$name
+ export KAKUP_TMUX=$TMUX
+ echo "KAKUP_TMUX=$KAKUP_TMUX"
- tmux has-session -t $servers || tmux new -d -s $servers -n $name kak -s $name -d
- tmux list-windows -t $servers -F "#{window_name}" | grep $name || tmux new-window -t $servers -n $name -d kak -s $name -d
- if [[ -z $TMUX ]]; then
- tmux has-session -t $client || tmux new -d -s $client -n $name kak -c $name
- else
- tmux new-window -n $name kak -c $name
+ tmux has-session -t $servers || {
+ tmux new -d -s $servers -n $name bash -c "[[ -f .envrc ]] && eval \"$(direnv export bash)\"; { kak -s $name -d & }; tmux wait -S $name; wait"
+ tmux wait $name
+ }
+ tmux list-windows -t $servers -F "#{window_name}" | grep $name || {
+ tmux new-window -t $servers -n $name -d bash -c "[[ -f .envrc ]] && eval \"$(direnv export bash)\"; { kak -s $name -d & }; tmux wait -S $name; wait"
+ tmux wait $name
+ }
+ if [[ -z $KAKUP_TMUX ]]; then
+ TMUX=$KAKUP_TMUX tmux has-session -t $client || tmux new -d -s $client -n $name kak -c $name
+ else
+ TMUX=$KAKUP_TMUX tmux new-window -n $name kak -c $name
fi
popd
- } </dev/stdin >/dev/null 2>&1
+ } </dev/stdin >debug 2>&1
echo $client
}