GNU Emacs has the ability to run as an editing server via the emacsclient command-line executable. This allows a pre-existing Emacs process to be called from the command-line. Most typically this is used to edit files such as:
emacsclient $HOME/.emacs.d/init.el
While Mac OS X is a variant of Unix, Mac OS X uses its own application bundle format. Frequently, when Mac OS X needs to interact with a user’s program, Mac OS X requires an application bundle rather than the more general Unix executable. The result of this is that integrating Mac OS X with the emacsclient executable requires some jimmying.
Org Mode uses the emacsclient
command-line program for capturing data as discussed on the org-protocol.el webpage. For Org Mode capture to work correctly, you must integrate the emacsclient executable with Mac OS X’s URL dispatch mechanism. This is a non-trivial task.
Based largely on the work of JCardente, EmacsClient.app is a simple Mac OS X application bundle that you configures Mac OS X to use the emacsclient executable in a manner consistent with Org Mode’s capture mechanism.
Simply download EmacsClient.zip
, uncompress it, and copy EmacsClient.app
to your /Applications
directory. Things may not work correctly if you install it into a directory other than /Applications
.
You must have Aquamacs installed in the /Applications
directory as well.
EmacsClient.app
maps the following URL schemes to the Aquamacs
executable:
org-protocol
: The default protocol for Org Mode capture.org
: A shorter version oforg-protocol
that I like to use.emacs
,emacs0
,emacs1
,emacs2
,emacs3
,emacs4
,emacs5
: Unused protocols that are added for extension purposes.
Install EmacsClient.app
in your /Applications
directory alongside Aquamacs
, follow the configuration instructions for org-protocol and then enjoy Org Mode capturing!