/EmacsClient.app

Use emacsclient to load URLs.

Mac OS X EmacsClient.app

EmacsClient Overview

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

EmacsClient And Mac Os X

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 And EmacsClient

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.

EmacsClient.app To The Rescue

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.

Installing EmacsClient.app

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.

What EmacsClient.app Provides

EmacsClient.app maps the following URL schemes to the Aquamacs executable:

  • org-protocol: The default protocol for Org Mode capture.
  • org: A shorter version of org-protocol that I like to use.
  • emacs, emacs0, emacs1, emacs2, emacs3, emacs4, emacs5: Unused protocols that are added for extension purposes.

The Bottom Line

Install EmacsClient.app in your /Applications directory alongside Aquamacs, follow the configuration instructions for org-protocol and then enjoy Org Mode capturing!