1
0
mirror of https://github.com/dcarrillo/prezto.git synced 2024-11-01 02:41:13 +00:00
prezto/modules/tmux/init.zsh

51 lines
1.3 KiB
Bash
Raw Normal View History

#
# 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>
#
2012-07-23 19:00:44 +00:00
# Return if requirements are not found.
if (( ! $+commands[tmux] )); then
return 1
fi
2012-08-04 18:48:32 +00:00
#
# Auto Start
2012-08-04 18:48:32 +00:00
#
2014-02-26 22:19:19 +00:00
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
2012-03-20 15:40:43 +00:00
# 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
2012-03-20 15:40:43 +00:00
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
2012-08-04 18:48:32 +00:00
#
2012-07-03 17:50:25 +00:00
# Aliases
2012-08-04 18:48:32 +00:00
#
2012-08-15 11:55:01 +00:00
alias tmuxa='tmux attach-session'
alias tmuxl='tmux list-sessions'