# # Worktemux: tmux session wrapper # https://robots.thoughtbot.com/a-tmux-crash-course # # Alternatives: # https://github.com/tmuxinator/tmuxinator # https://github.com/tony/tmuxp # https://github.com/tmux-plugins/tpm # https://github.com/tmux-plugins/tmux-resurrect # https://github.com/tmux-plugins/tmux-continuum # https://superuser.com/questions/440015/restore-tmux-session-after-reboot # Default options. opts="" # Session selection. if [ ! -z "$1" ]; then if ! tmux list-sessions 2> /dev/null | grep -q "^$1:"; then session="new-session -d -s $1" if [ "$1" = "root" ]; then sudo tmux attach exit elif [ -f "$HOME/.tmux/$1" ]; then opts="$HOME/.tmux/$1" elif [ -f "$HOME/.tmux/base" ]; then opts="$HOME/.tmux/base" else opts="" fi # Start session. if [ ! -z "$opts" ]; then tmux $session \; source-file $opts else tmux $session fi fi tmux attach -t $1 else tmux fi