allow multiple sessions even for TMDIR setups
authorJoerg Jaspert <joerg@ganneff.de>
Wed, 17 Jul 2013 14:44:48 +0000 (16:44 +0200)
committerJoerg Jaspert <joerg@ganneff.de>
Wed, 17 Jul 2013 14:44:48 +0000 (16:44 +0200)
bin/tm

diff --git a/bin/tm b/bin/tm
index fc72e5d..3c5d030 100755 (executable)
--- a/bin/tm
+++ b/bin/tm
@@ -104,6 +104,9 @@ declare -r TMUXMINOR=${TMUXVERS##*.}
 # Save IFS
 declare -r OLDIFS=${IFS}
 
+# To save session file data
+TMDATA=""
+
 ########################################################################
 function usage() {
     echo "tmux helper by Joerg Jaspert <joerg@ganneff.de>"
@@ -278,19 +281,20 @@ case ${cmdline} in
             own_config $1
         else
             # Not a config file, so just session name.
-            TMDATA=""
             SESSION=${cmdline}
         fi
         ;;
 esac
-
+set -x
 # And now check if we would end up with a doubled session name.
 # If so add something "random" to the new name, like our pid.
 if [[ ${DOUBLENAME} == true ]] && tmux has-session -t ${SESSION} 2>/dev/null; then
     # Session exist but we are asked to open another one,
     # so adjust our session name
-    if [[ ${SESSION} =~ ([ms]+)_(.*) ]]; then
+    if [[ ${#TMDATA} -eq 0 ]] && [[ ${SESSION} =~ ([ms]+)_(.*) ]]; then
         SESSION="${BASH_REMATCH[1]}_$$_${BASH_REMATCH[2]}"
+    else
+        SESSION="$$_${SESSION}"
     fi
 fi