.local-bin/tmux_sessionizer
2024-03-17 21:14:47 -04:00

32 lines
692 B
Bash
Executable file

#!/usr/bin/env bash
if [[ $# -eq 1 ]]; then
selected=$1
if [[ ! -d $selected ]]; then
echo "Invalid directory: $selected"
exit 1
fi
else
selected=$(fd --min-depth 1 --max-depth 5 --type d . "$HOME" | fzf)
fi
if [[ -z $selected ]]; then
echo "No directory selected. Exiting."
exit 0
fi
selected_name=$(basename "$selected" | tr '.' '_')
tmux_running=$(pgrep tmux)
if [[ -z $TMUX ]] && [[ -z $tmux_running ]]; then
tmux new-session -s "$selected_name" -c "$selected"
exit 0
fi
if ! tmux has-session -t "$selected_name" 2>/dev/null; then
tmux new-session -d -s "$selected_name" -c "$selected"
fi
tmux switch-client -t "$selected_name"