This seems to have stopped working in newer versions of Cygwin.
Add the following line to ~/.bashrc:
/usr/libexec/mc/mc.sh
(Adjust the /usr/libexec path as needed to match your system.)
I’ve tested this in Linux Mint and Cygwin.
Create the following script “exitcwd.sh” in a directory of your choosing, e.g., ~/bin/src:
MC_USER=`id | sed 's/[^(]*(//;s/).*//'` MC_PWD_FILE="${TMPDIR-/tmp}/mc-$MC_USER/mc.pwd.$$" /usr/bin/mc -P "$MC_PWD_FILE" "$@" if test -r "$MC_PWD_FILE"; then MC_PWD="`cat "$MC_PWD_FILE"`" if test -n "$MC_PWD" && test -d "$MC_PWD"; then cd "$MC_PWD" fi unset MC_PWD fi rm -f "$MC_PWD_FILE" unset MC_PWD_FILE
Add the following alias to .bashrc:
alias mc='. ~/bin/src/exitcwd.sh'