Add tat
This commit is contained in:
parent
295dd570c7
commit
1dcafb48c4
31
bin/tat
Executable file
31
bin/tat
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Attach or create tmux session named the same as current directory.
|
||||||
|
|
||||||
|
path_name="$(basename "$PWD" | tr . -)"
|
||||||
|
session_name=${1-$path_name}
|
||||||
|
|
||||||
|
not_in_tmux() {
|
||||||
|
[ -z "$TMUX" ]
|
||||||
|
}
|
||||||
|
|
||||||
|
session_exists() {
|
||||||
|
tmux has-session -t "=$session_name"
|
||||||
|
}
|
||||||
|
|
||||||
|
create_detached_session() {
|
||||||
|
(TMUX='' tmux new-session -Ad -s "$session_name")
|
||||||
|
}
|
||||||
|
|
||||||
|
create_if_needed_and_attach() {
|
||||||
|
if not_in_tmux; then
|
||||||
|
tmux new-session -As "$session_name"
|
||||||
|
else
|
||||||
|
if ! session_exists; then
|
||||||
|
create_detached_session
|
||||||
|
fi
|
||||||
|
tmux switch-client -t "$session_name"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
create_if_needed_and_attach
|
Loading…
Reference in a new issue