--- 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