#!/usr/bin/bash HOMEDIR=~ which fd > /dev/null if [ 0 = $? ]; then SEL_DIR=$(fd --type directory | fzf) # if fd-find is installed else SEL_DIR=$(find ~ -not -path "*/.*" -type d -print 2>/dev/null | fzf) fi SEL_NAME=$(basename "$SEL_DIR") new_session_name(){ RET=0 while [[ $RET -eq 0 ]]; do clear read -p "New session name: " SEL_NAME if [[ -z "$SEL_NAME" ]]; then clear else RET=1 fi done } if [[ -z "$SEL_DIR" ]] || [[ -n "$SEL_DIR" ]] && [[ "$SEL_DIR" == "$HOMEDIR" ]]; then new_session_name else RET=0 while [[ $RET -eq 0 ]]; do clear read -r -p "Choose a different session-name? [y/n] " USR_CHOICE echo $USR_CHOICE if [[ "$USR_CHOICE" == "y" ]]; then clear new_session_name RET=1 elif [[ "$USR_CHOICE" == "n" ]]; then clear RET=1 else clear fi done fi SEL_NAME=$(tr "[:lower:]" "[:upper:]" <<< "$SEL_NAME") tmux new-session -d -s "$SEL_NAME" -c "$SEL_DIR" if [[ -e "$TMUX" ]]; then tmux switch-client -t "$SEL_NAME" else tmux attach -t "$SEL_NAME" fi