Tired of waiting for emacs to start on OS X? This step by step guide will
teach you how to install the latest version of emacs and configure it to start
in the background (daemon mode) and use emacsclient
as your main editor.
Download the latest pretest version of [Emacs for Mac OS X]: http://emacsformacosx.com/builds
Drag the Emacs Application to your Applications folder
Open the AppleScript editor and paste the following:
tell application "Terminal" do shell script "/Applications/Emacs.app/Contents/MacOS/Emacs --daemon" end tell
Save this as an Application called "Emacs Daemon" in your Applications folder
Goto System Preferences > Accounts
- With your user name selected, click on the
Login Items
tab - Click on the plus sign
- Browse to your applications folder and find "Emacs Daemon"
- Don't worry about the "hide" checkbox, since it the dock icon disappears naturally
Open the AppleScript editor and paste the following:
tell application "Terminal" try set frameVisible to do shell script "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -e '(<= 2 (length (visible-frame-list)))'" if frameVisible is not "t" then do shell script "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -c -n" end if on error do shell script "/Applications/Emacs.app/Contents/MacOS/Emacs --daemon" do shell script "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -c -n" end try end tell tell application "Emacs" to activate
Save this as an Application called "Emacs Client" in your Applications folder.
Using the Finder, navigate to your Application folder and right click on your
Emacs application (not the client or daemon), and click on Show Package Contents
Do the same for the Emacs Client application
Copy the Emacs.icns
file from Contents/Resources
of the Emacs application to
the Contents/Resources
of the Emacs Client application Delete applet.icns
and rename Emacs.icns
to applet.icns
in the Emacs Client application.
This is great! There's only one thing I haven't been able to solve so far. When the Emacs daemon starts running it doesn't show up on the dock (which is good). But after I run Emacs Client for the first time, even when I close the last window (or frame) the Emacs icon still shows up on the dock.
Do you know of any way to make the Emacs icon disappear of the dock (and most importantly, the cmd-tab menu) when no GUI client is running?
Cheers.