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.
49 lines
1.4 KiB
49 lines
1.4 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> |
|
# Xavier Cambar <xcambar@gmail.com> |
|
# |
|
|
|
# Return if requirements are not found. |
|
if (( ! $+commands[tmux] )); then |
|
return 1 |
|
fi |
|
|
|
# |
|
# Auto Start |
|
# |
|
|
|
if ([[ "$TERM_PROGRAM" = 'iTerm.app' ]] && \ |
|
zstyle -t ':prezto:module:tmux:iterm' integrate \ |
|
); then |
|
_tmux_iterm_integration='-CC' |
|
fi |
|
|
|
if [[ -z "$TMUX" && -z "$EMACS" && -z "$VIM" && -z "$INSIDE_EMACS" && "$TERM_PROGRAM" != "vscode" ]] && ( \ |
|
( [[ -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 |
|
zstyle -s ':prezto:module:tmux:session' name tmux_session || tmux_session='prezto' |
|
tmux \ |
|
new-session -d -s "$tmux_session" \; \ |
|
set-option -t "$tmux_session" destroy-unattached off &> /dev/null |
|
fi |
|
|
|
# Attach to the 'prezto' session or to the last session used. (detach first) |
|
exec tmux $_tmux_iterm_integration attach-session -d |
|
fi |
|
|
|
# |
|
# Aliases |
|
# |
|
|
|
alias tmuxa="tmux $_tmux_iterm_integration new-session -A" |
|
alias tmuxl='tmux list-sessions'
|
|
|