#!/bin/sh if [ $# -eq 1 ]; then selected="$1" [ -d "$1" ] || mkdir -p "$1" else if ! [ -f ~/.tmus-dirs ]; then echo 'Please create ~/.tmus-dirs with desired search dirs' exit 1 fi selected=$(find $(cat ~/.tmus-dirs) -mindepth 1 -maxdepth 1 -type d | fzf) fi if [ -z "$selected" ]; then 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 -ds "$selected_name" -c "$selected" fi if tmux list-sessions | grep -qs attached; then tmux switch-client -t "$selected_name" else tmux attach-session -t "$selected_name" fi