diff options
author | Jonas Gunz <himself@jonasgunz.de> | 2024-04-02 23:24:41 +0200 |
---|---|---|
committer | Jonas Gunz <himself@jonasgunz.de> | 2024-04-02 23:24:41 +0200 |
commit | d8ce34981ecc54f444cae2faf7757f25b28a93f2 (patch) | |
tree | c7e59f2bf3421888e8c24557fbe923f35a82b4da /scripts | |
parent | 28ba77bba0b0569fa2a9e82986204da84bc029a6 (diff) | |
download | dotfiles-d8ce34981ecc54f444cae2faf7757f25b28a93f2.tar.gz |
tmux selector first draft
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 |