diff options
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/tmux_selector.sh | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/scripts/tmux_selector.sh b/scripts/tmux_selector.sh new file mode 100755 index 0000000..3928df6 --- /dev/null +++ b/scripts/tmux_selector.sh @@ -0,0 +1,28 @@ +#!/bin/bash +shopt -s extglob + +readonly TMUX_FORMAT='#{session_id};#{session_attached};#{session_name}' + +OPTIONS=$( +echo new +while IFS=';' read -r ID ATTACHED NAME; do + printf "%s\t|" "$ID" + printf " %s" "$NAME" + test $ATTACHED -ge 1 && printf " (attached)" + + printf "\n" +done <<< "$(tmux ls -F "$TMUX_FORMAT")" +) + +CHOICE=$(fzf <<< "$OPTIONS" | awk -F'|' '{ print $1 }') +test -z "$CHOICE" && exit 1 + +echo $CHOICE + +case $CHOICE in + $+([0-9])* ) + tmux attach -t $CHOICE ;; + new) tmux ;; + *) + exit 1;; +esac |