This is the current solution that I came out with: use emacsclient and wrap it in an application.
First, put this line in ~/.emacs:
(server-start) Create this bash script:
if ! pgrep Emacs; then open -a Emacs.app sleep 1 fi for f in "$@" do /usr/local/bin/emacsclient -c -n "$f" done Note: Make sure that your emacsclient path is correct.
- Remove "-n" if you want to Open the file in the existing frame.
- Make sure that your emacsclient path is correct.
Then create a wrapper application using this method: https://superuser.com/a/239235
But remember to change Shell to /bin/bash.