-
-
Save railwaycat/4043945 to your computer and use it in GitHub Desktop.
| #!/usr/bin/perl | |
| # Emacs starter for Emacs mac port | |
| # Thanks to Aquamacs Project and David Reitter | |
| my $args = ""; | |
| my $tmpfiles = ""; | |
| for my $f (@ARGV) { | |
| $args .= '"'.$f.'" '; | |
| $tmpfiles .= '"'.$f.'" ' if (! -e $f); | |
| } | |
| system("touch $args") if ($tmpfiles); | |
| system("open -a /Applications/Emacs.app $args"); | |
| # delay deletion because AE drag&drop doesn't work with non-existing documents | |
| system("(sleep 3; rm $tmpfiles) &") if ($tmpfiles); | |
| exit; | |
Hi @mwolson, thanks for the update. I believe your starter script works for Nextstep port (although I haven't verify that by myself), but it not works for Mac port. Because Emacs Mac port lacks multi-tty support, which means, emacsclient from mac port can only able to create tty frames but not GUI frames.
@railwaycat This seems outdated. I'm able to open GUI emacs from emacsclient now. Could you update instructions for this? However, the Emacs server in GUI app won't run in the background. C-x C-x the last window closes the app and also the server. This behavior is different from the official Emacs build. Their Emacs.app can run without any window.
On macOS, I like this solution:
osascript -e 'tell application "Finder" to make alias file to POSIX file "/opt/homebrew/opt/emacs-mac@29/Emacs.app" at POSIX file "/Applications/"'
I wrote an Alfred workflow which supports emacs: https://github.com/willbchang/alfred-open-in-editor