# HG changeset patch # User Mikael Berthe # Date 1442947304 -7200 # Node ID 1400f5ed243c0169d1d9ea8bafd82525d9fe53ac # Parent 0df5ad40ffb95c6eaf0d0282192b7fd7da9cc4a9 sss: Add an optional session name diff -r 0df5ad40ffb9 -r 1400f5ed243c zshrc.d/30-functions-tmux.zrc --- a/zshrc.d/30-functions-tmux.zrc Wed Sep 02 19:07:59 2015 +0200 +++ b/zshrc.d/30-functions-tmux.zrc Tue Sep 22 20:41:44 2015 +0200 @@ -11,14 +11,15 @@ local TTYLOCKER="${TTYLOCKER:-$HOME/bin/ttylocker}" local SCREENBIN="/usr/bin/screen" local TMUXBIN="/usr/bin/tmux" + local session="$1" if [[ -x $SCREENBIN ]]; then - $SCREENBIN -q -list + $SCREENBIN -q -list $session local r=$? if (( r == 11 )); then # There is 1 usable Screen session, let's go [[ -x "$TTYLOCKER" ]] && export LOCKPRG="$TTYLOCKER" - exec $SCREENBIN -r -x + exec $SCREENBIN -r -x $session elif (( r > 11 )); then # There are several usable Screen sessions, heh echo "There are several usable Screen sessions..." @@ -28,6 +29,11 @@ # No usable GNU/Screen session, let's try tmux then. if [[ -x "$TMUXBIN" ]]; then + if [[ -n $session ]]; then + $TMUXBIN has-session -t "$session" && + exec $TMUXBIN attach-session -t "$1" + return # Exit function with error code + fi # Number of tmux sessions integer n=$($TMUXBIN list-sessions 2>/dev/null | wc -l) if (( n == 1 )); then