aboutsummaryrefslogtreecommitdiff
path: root/dotfiles/scripts/tm.sh
diff options
context:
space:
mode:
Diffstat (limited to 'dotfiles/scripts/tm.sh')
-rwxr-xr-xdotfiles/scripts/tm.sh49
1 files changed, 49 insertions, 0 deletions
diff --git a/dotfiles/scripts/tm.sh b/dotfiles/scripts/tm.sh
new file mode 100755
index 0000000..851cd7e
--- /dev/null
+++ b/dotfiles/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