In Which I Write Some AppleScript to Save the Big Magical Gnu

November 16th, 2014  |  Published in applescript, ruby


People at the Friday all-hands made fun of Emacs. I briefly imagined a big, magical gnu sadly, slowly fading away because nobody believed in it anymore, and then I thought of all the ways I’ve failed to support that big, magical gnu. So in a fit of emacsimalism I wrote some AppleScript to convert all my Things projects to org-mode projects, and their tasks to org-mode todos.

It understands:

  • Tags, and converts them to org-mode-style, colon-delimited lists.
  • Due dates, and converts them to deadlines.
  • Status:
    • “open” converts to “TODO”
    • “completed” converts to “DONE”
    • “canceled” converts to “CANCELED,” which you’ll need to add to your org-mode configuration with something like this:
      (setq org-todo-keywords '((sequence "TODO" "|" "DONE" "CANCELED")))

I stopped short of:

  • Mapping “Areas” to something (like org-mode properties, I guess)
  • Mapping “Contacts” to something (I always use the “@name” convention to tag people)
  • Making it put its output somewhere. It just returns a big string you can copy out of Script Editor’s output field and paste into a text file.
  • Bothering with the idiocy needed to get AppleScript to pad any single-digit elements of a date with zeroes. I just hand off to a Ruby one-liner with do shell script.

Cheer up, magical gnu!

Leave a Response

© Michael Hall, licensed under a Creative Commons Attribution-ShareAlike 3.0 United States license.