From: Simon Ruderich Date: Tue, 16 Oct 2012 03:42:29 +0000 (+0200) Subject: zsh/rc: Replace $use_tmux with $use_multiplexer. X-Git-Url: https://ruderich.org/simon/gitweb/?a=commitdiff_plain;h=25a08d633cffde3db73220f8de8cdc1ff6188ff1;p=config%2Fdotfiles.git zsh/rc: Replace $use_tmux with $use_multiplexer. Allows easy switching between GNU screen, tmux and no multiplexer. --- diff --git a/zsh/rc b/zsh/rc index f696a34..ad641b9 100644 --- a/zsh/rc +++ b/zsh/rc @@ -712,8 +712,9 @@ fi # LOAD ADDITIONAL CONFIGURATION FILES -# Configuration option for rc.local to use tmux. By default screen is used. -use_tmux= +# Configuration option for rc.local to use GNU screen/tmux. By default GNU +# screen is used. Possible values: screen, tmux. +use_multiplexer=screen source_config ~/.zsh/rc.local @@ -725,32 +726,32 @@ source_config ~/.zsh/rc.local # through ssh. if [[ $TERM != dumb && $TERM != linux && -z $STY && -z $TMUX ]]; then # Get running detached sessions. - if [[ -z $use_tmux ]]; then + if [[ $use_multiplexer = screen ]]; then session=$(screen -list | grep 'Detached' | awk '{ print $1; exit }') - else + elif [[ $use_multiplexer = tmux ]]; then session=$(tmux list-sessions 2>/dev/null \ | sed '/(attached)$/ d; s/^\([0-9]\{1,\}\).*$/\1/; q') fi # As we exec later we have to set the title here. - if [[ -z $use_tmux ]]; then + if [[ $use_multiplexer = screen ]]; then window_preexec "screen" - else + elif [[ $use_multiplexer = tmux ]]; then window_preexec "tmux" fi # Create a new session if none is running. if [[ -z $session ]]; then - if [[ -z $use_tmux ]]; then + if [[ $use_multiplexer = screen ]]; then exec screen - else + elif [[ $use_multiplexer = tmux ]]; then exec tmux fi # Reattach to a running session. else - if [[ -z $use_tmux ]]; then + if [[ $use_multiplexer = screen ]]; then exec screen -r $session - else + elif [[ $use_multiplexer = tmux ]]; then exec tmux attach-session -t $session fi fi