1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
prezto/modules/tmux/init.zsh

55 lines
1.5 KiB

#
# 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>
#
# Return if requirements are not found.
if (( ! $+commands[tmux] )); then
return 1
fi
#
# Auto Start
#
if [[ -z "$TMUX" ]] && ( \
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) ||
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \
); then
tmux_session='#Prezto'
if ! tmux has-session -t "$tmux_session" 2> /dev/null; then
# Ensure that tmux server is started.
tmux start-server
# 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
#
# Aliases
#
alias tmuxn='tmux new-session -s' # [name] create new named session; if don't need name just use 'tmux'
alias tmuxa='tmux attach-session' # optionally [-t] [name] to attach to specific session
alias tmuxl='tmux list-sessions'
alias tmuxr='tmux rename-session -t' # [name] [new name]
alias tmuxk='tmux kill-session -t'