Skip to content
Setting Up org-protocol on Mac
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.org
org-protocol.user.js Add User Script Jun 20, 2016

README.org

Setting Up org-protocol on Mac

org-protocol.el – Mac OS X setup doesn’t work anymore according to Issue #3 · neil-smithline-elisp/EmacsClient.app.

Step 1. Create an application

  • Launch the Script Editor application and create a new document
  • Copy-and-paste the following code into the new document
  • Change “/usr/local/bin/emacsclient” to path to emacsclient on your system
  • Save it in Application (not the default Script) File Format as org-protocol.app
on open location this_URL
    do shell script "/usr/local/bin/emacsclient \"" & this_URL & "\""
end open location

Step 2. Configure the application

  • Navigate to the application (i.e., org-protocol.app) in the Finder, then right-click on it and select Show Package Contents. Now go into the Contents folder and open Info.plist
  • Add the following code to the file, making sure to keep all existing key/string pairs intact:
<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLName</key>
    <string>org-protocol handler</string>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>org-protocol</string>
    </array>
  </dict>
</array>

Step 3. Test your results

See http://orgmode.org/worg/org-contrib/org-protocol.html#orgheadline8

Notes

Emacs doesn’t activate?

I use graphical Emacs and start Emacs server from there, however after clicking some org-protocol link, Emacs doesn’t activate. I don’t know the cause. If you encounter the same issue AND don’t like it, you can try this instead

on open location this_URL
   do shell script "/usr/local/bin/emacsclient \"" & this_URL & "\" && open -a Emacs"
end open location

User Script

On web browser, besides bookmarklets, you can also use User Script, for example, ./org-protocol.user.js binds two keys to Org: store-link and Org: capture.

You can’t perform that action at this time.