mirror of
https://github.com/dcarrillo/prezto.git
synced 2024-11-01 00:21:13 +00:00
5e6adf89b9
This commit reverts the tmux module back to the original behavior but doesn't set `destroy-unattached` to on `on` globally and provides an option for attaching to the background or last-used session.
51 lines
1.3 KiB
Bash
51 lines
1.3 KiB
Bash
#
|
|
# Defines tmux aliases and provides for auto launching it at start-up.
|
|
#
|
|
# Authors:
|
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
# Colin Hebert <hebert.colin@gmail.com>
|
|
# Georges Discry <georges@discry.be>
|
|
# Xavier Cambar <xcambar@gmail.com>
|
|
#
|
|
|
|
# Return if requirements are not found.
|
|
if (( ! $+commands[tmux] )); then
|
|
return 1
|
|
fi
|
|
|
|
#
|
|
# Auto Start
|
|
#
|
|
|
|
if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" ]] && ( \
|
|
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) ||
|
|
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \
|
|
); then
|
|
tmux start-server
|
|
|
|
# Create a 'prezto' session if no session has been defined in tmux.conf.
|
|
if ! tmux has-session 2> /dev/null; then
|
|
tmux \
|
|
new-session -d -s prezto \; \
|
|
set-option -t prezto destroy-unattached off &> /dev/null
|
|
else
|
|
tmux_session
|
|
fi
|
|
|
|
if zstyle -t ':prezto:module:tmux:auto-start' mode shared; then
|
|
# Attach to the 'prezto' session or to the last session used.
|
|
exec tmux attach
|
|
else
|
|
# Find a session to share windows with.
|
|
tmux_session=`tmux list-sessions -F '#S' | head -n 1`
|
|
exec tmux new-session -t "$tmux_session"\; set-option destroy-unattached on
|
|
fi
|
|
fi
|
|
|
|
#
|
|
# Aliases
|
|
#
|
|
|
|
alias tmuxa='tmux attach-session'
|
|
alias tmuxl='tmux list-sessions'
|