diff --git a/bin/executable_em b/bin/executable_em index 5f65880..f815d5c 100644 --- a/bin/executable_em +++ b/bin/executable_em @@ -3,9 +3,17 @@ PARENT_COMMAND=$(ps -o comm= $PPID) TTY="" export TTY export TERM=xterm-24bit +declare name +raw_name=$(basename $(realpath $(pwd)/../))/$(basename $PWD) +name="${raw_name//./_}" if [ "${PARENT_COMMAND}" == "$(basename "$SHELL")" ] || [ "${PARENT_COMMAND}" == "tmux: server" ]; then - exec emacsclient -s comacs --create-frame --tty "$@" + if [[ $(tmux display-message -p '#S' | grep -E "^\w+/\w+$") == "${name}" ]] && [[ -z ${1} ]]; then + echo "Detected tmux project session. (Re)-attaching"; + exec emacsclient -s comacs --create-frame --tty -e "(bascht/switch-to-or-load-workspace \"${name}\" \"${PWD}\")" + else + exec emacsclient -s comacs --create-frame --tty "$@" + fi; else exec emacsclient --create-frame "$@" fi;