2012-03-26 17:32:30 +00:00
|
|
|
#
|
|
|
|
# Defines tmux aliases and provides for auto launching it at start-up.
|
|
|
|
#
|
|
|
|
# Authors:
|
|
|
|
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
2012-03-26 22:26:42 +00:00
|
|
|
# Colin Hebert <hebert.colin@gmail.com>
|
2013-01-24 13:54:55 +00:00
|
|
|
# Georges Discry <georges@discry.be>
|
2014-02-21 19:13:21 +00:00
|
|
|
# Xavier Cambar <xcambar@gmail.com>
|
2012-03-26 17:32:30 +00:00
|
|
|
#
|
|
|
|
|
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
|
|
|
#
|
2012-03-26 17:32:30 +00:00
|
|
|
# Auto Start
|
2012-08-04 18:48:32 +00:00
|
|
|
#
|
|
|
|
|
2014-11-06 23:15:23 +00:00
|
|
|
if ([[ "$TERM_PROGRAM" = 'iTerm.app' ]] && \
|
|
|
|
zstyle -t ':prezto:module:tmux:iterm' integrate \
|
|
|
|
); then
|
|
|
|
_tmux_iterm_integration='-CC'
|
|
|
|
fi
|
|
|
|
|
2021-10-02 16:10:02 +00:00
|
|
|
if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" && -z "$INSIDE_EMACS" && "$TERM_PROGRAM" != "vscode" && "$TERMINAL_EMULATOR" != "JetBrains-JediTerm" ]] && ( \
|
2013-01-24 13:54:55 +00:00
|
|
|
( [[ -n "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' remote ) ||
|
|
|
|
( [[ -z "$SSH_TTY" ]] && zstyle -t ':prezto:module:tmux:auto-start' local ) \
|
|
|
|
); then
|
2014-03-12 15:59:00 +00:00
|
|
|
tmux start-server
|
2012-03-20 15:40:43 +00:00
|
|
|
|
2014-03-12 15:59:00 +00:00
|
|
|
# Create a 'prezto' session if no session has been defined in tmux.conf.
|
2014-02-21 19:13:21 +00:00
|
|
|
if ! tmux has-session 2> /dev/null; then
|
2017-05-03 01:02:28 +00:00
|
|
|
zstyle -s ':prezto:module:tmux:session' name tmux_session || tmux_session='prezto'
|
2014-02-21 19:13:21 +00:00
|
|
|
tmux \
|
|
|
|
new-session -d -s "$tmux_session" \; \
|
|
|
|
set-option -t "$tmux_session" destroy-unattached off &> /dev/null
|
2012-03-26 17:32:30 +00:00
|
|
|
fi
|
2012-03-20 15:40:43 +00:00
|
|
|
|
2017-07-11 19:15:24 +00:00
|
|
|
# Attach to the 'prezto' session or to the last session used. (detach first)
|
|
|
|
exec tmux $_tmux_iterm_integration attach-session -d
|
2012-03-26 17:32:30 +00:00
|
|
|
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
|
|
|
#
|
|
|
|
|
2023-04-13 02:02:41 +00:00
|
|
|
if ! zstyle -t ':prezto:module:tmux:alias' skip; then
|
|
|
|
alias tmuxa="tmux $_tmux_iterm_integration new-session -A"
|
|
|
|
alias tmuxl='tmux list-sessions'
|
|
|
|
fi
|