diff options
Diffstat (limited to '')
-rwxr-xr-x | scripts/.scripts/tm.sh | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/scripts/.scripts/tm.sh b/scripts/.scripts/tm.sh new file mode 100755 index 0000000..851cd7e --- /dev/null +++ b/scripts/.scripts/tm.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# source https://github.com/Drakirus/dotfiles/blob/master/bin/tm +# abort if we're already inside a TMUX session +if [ "$TMUX" != "" ]; then + echo "Already inside a TMUX session !!" + exit 1 +fi +# startup a "default" session if non currently exists +# tmux has-session -t _default || tmux new-session -s _default -d + + +SessionNb=$( tmux list-sessions -F "#S" 2>/dev/null | wc -l ) +if [ $SessionNb -eq 0 ]; then + # read -p "Enter new session name: " SESSION_NAME + TERM=screen-256color-bce tmux new -s "Start" #"$SESSION_NAME" +else + # present menu for user to choose which workspace to open + PS3="Please choose your session: " + options=($(tmux list-sessions -F "#S" 2>/dev/null) "New Session" "Independent attach") + echo "Available Options" + echo "------------------" + echo " " + select opt in "${options[@]}" + do + case $opt in + "New Session") + read -p "Enter new session name: " SESSION_NAME + TERM=screen-256color-bce tmux new -s "$SESSION_NAME" + break + ;; + + "Independent attach") + optionsATTACH=($(tmux list-sessions -F "#S" 2>/dev/null)) + echo " " + echo "Available sessions" + echo "------------------" + select optATT in "${optionsATTACH[@]}" + do + TERM=screen-256color-bce tmux new -s "Agent_infiltré" -t $optATT + exit 0 + done + ;; + *) + TERM=screen-256color-bce tmux attach-session -t $opt + break + ;; + esac + done +fi |