|
|
|
@ -21,15 +21,23 @@ alias tl="tmux list-sessions"
|
|
|
|
|
|
|
|
|
|
# Auto Start
|
|
|
|
|
if [[ -z "$TMUX" ]] && zstyle -t ':omz:plugin:tmux:auto' start; then
|
|
|
|
|
session="$(
|
|
|
|
|
tmux list-sessions 2> /dev/null \
|
|
|
|
|
| cut -d':' -f1 \
|
|
|
|
|
| head -1)"
|
|
|
|
|
|
|
|
|
|
if [[ -n "$session" ]]; then
|
|
|
|
|
exec tmux attach-session -t "$session"
|
|
|
|
|
else
|
|
|
|
|
exec tmux new-session
|
|
|
|
|
tmux_session='#OMZ'
|
|
|
|
|
|
|
|
|
|
if ! tmux has-session -t "$tmux_session" 2> /dev/null; then
|
|
|
|
|
# Disable the destruction of unattached sessions globally.
|
|
|
|
|
tmux set-option -g destroy-unattached off &> /dev/null
|
|
|
|
|
|
|
|
|
|
# Create a new session.
|
|
|
|
|
tmux new-session -d -s "$tmux_session"
|
|
|
|
|
|
|
|
|
|
# Disable the destruction of the new, unattached session.
|
|
|
|
|
tmux set-option -t "$tmux_session" destroy-unattached off &> /dev/null
|
|
|
|
|
|
|
|
|
|
# Enable the destruction of unattached sessions globally to prevent
|
|
|
|
|
# an abundance of open, detached sessions.
|
|
|
|
|
tmux set-option -g destroy-unattached on &> /dev/null
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
exec tmux new-session -t "$tmux_session"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|