diff options
Diffstat (limited to 'bin/extra/tmux-sessionizer')
-rwxr-xr-x | bin/extra/tmux-sessionizer | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/bin/extra/tmux-sessionizer b/bin/extra/tmux-sessionizer index 8b04b0b..ca9f921 100755 --- a/bin/extra/tmux-sessionizer +++ b/bin/extra/tmux-sessionizer @@ -4,33 +4,27 @@ if [ $# -eq 1 ]; then selected="$1" else pfx="$HOME/proj" - d="$(find "$pfx" -mindepth 1 -maxdepth 1 -type d | sed "s@$pfx/@@" | fzf)" - { [ "$d" ] && [ -d "$pfx/$d" ]; } || exit 1 - selected="${d##*/}" + selected="$(find "$pfx" -mindepth 1 -maxdepth 1 -type d | sed "s@$pfx/@@" | fzf)" + { [ "$selected" ] && [ -d "$pfx/$selected" ]; } || exit 1 fi ->&2 printf 'selected: %s\n' "$selected" if [ -z "$selected" ]; then exit 0 fi -selected_name="$(basename "$selected" | tr '.' '_')" tmux_running="$(pgrep "tmux" | head -n1)" ->&2 printf 'tmux_running: "%s"\n' "$tmux_running" ->&2 printf 'selected_name: %s\n' "$selected_name" - if [ -z $TMUX ] && [ -z "$tmux_running" ]; then - tmux new-session -s "$selected_name" -c "$selected" + tmux new-session -s "$selected" -c "$pfx"/"$selected" exit 0 fi -if ! tmux has-session -t="$selected_name" 2> /dev/null; then - tmux new-session -ds "$selected_name" -c "$selected" +if ! tmux has-session -t="$selected" 2> /dev/null; then + tmux new-session -ds "$selected" -c "$pfx"/"$selected" fi if [ -z $TMUX ]; then - tmux attach -t "$selected_name" + tmux attach -t "$selected" else - tmux switch-client -t "$selected_name" + tmux switch-client -t "$selected" fi |