#!/bin/sh # # Attach or create tmux session named the same as current directory. path_name="$(basename "$PWD" | tr . -)" session_name=${1-$path_name} not_in_tmux() { [ -z "$TMUX" ] } session_exists() { tmux has-session -t "=$session_name" } create_detached_session() { (TMUX='' tmux new-session -Ad -s "$session_name") } create_if_needed_and_attach() { if not_in_tmux; then tmux new-session -As "$session_name" else if ! session_exists; then create_detached_session fi tmux switch-client -t "$session_name" fi } create_if_needed_and_attach