Michael Schechter at Workflowing.net recently posted a list of his Essential OmniFocus Scripts and Workflows. Which lead me to the OopsieFocus Script created by Shawn Blanc. Shawn explains the common problem he created OopsieFocus to solve and how it works:
I hit the hotkey to bring up the OmniFocus Quick Entry Pane but nothing happens. After waiting a few seconds wondering where it is, I’ll look over at my Dock to see that OmniFocus isn’t even running. I then launch the app, let it load, and hit the quick entry hotkey once again...When launched, the OopsieFocus script will check to see if OmniFocus is running. If OmniFocus is running then the script does nothing and OmniFocus brings up the Quick Entry Pane for you just as it should. If OmniFocus is not running then the script will automatically launch the app and bring up the Quick Entry Pane.
I too have run into the problem of accidentally quitting OmniFocus or wanting to capture an entry only to find the App isn't loaded. While I may end up implementing Shawn's solution with Keyboard Maestro at some point, I have a different solution to keep OmniFocus and other applications running at all times using Lingon 3.
I first learned about Lingon from Dave Hamilton on the Mac Geek Gab Podcast. Lingon is a utility that allows you to schedule things to run on your Mac. It can start an app, a script or run a command at a specific schedule or, in this case, automatically restart an App or script if it crashes or is accidentally quit. I not only use Lingon for OmniFocus, but I've used it on my Mac mini home server to keep Mail.app running and auto-processing rules and on a problematic Dropbox installation on my work machine to make sure Dropbox stays open and syncing.