# # Defines tmux aliases and provides for auto launching it at start-up. # # Authors: # Sorin Ionescu # Colin Hebert # Georges Discry # # 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 -s' # provide session name, or just use tmux straigt up for unnamed alias tmuxa='tmux a' # [-t name] to attach to specific named session alias tmuxl='tmux ls' alias tmuxk='tmux kill-session -t' # provide session name