Sometimes I complete tasks almost unintentionally, in a reactive manner. Someone might call me on the phone, for example, and the conversation takes care of a task that I had previously set up as an action in OmniFocus. I then need to hunt down the action to mark it as complete. If you use the OmniFocus search box, your search would only search the Perspective currently in focus. I wanted to create a quick and easy way to perform a universal search, so I could find my tasks more easily.
I was able to accomplish this through a combination of a new Perspective in OmniFocus, and a Keyboard Maestro recipe. First, I set up an OmniFocus Perspective that included all remaining tasks (whether currently set as “available” or not), as depicted below. I didn’t set that Perspective to display in the sidebar, as I only use it for universal search.
Next, I assigned a keyboard shortcut to that Perspective (in my case, I assigned CONTROL+OPTION+COMMAND+S). I don’t actually ever type that shortcut, but it is used by Keyboard Maestro, as explained below.

The next step was setting up a Keyboard Maestro recipe, depicted in the screenshot below. I trigger the recipe with another keyboard shortcut (CONTROL+OPTION+COMMAND+/). That recipe activates OmniFocus if it isn’t already active, brings it to the front, types the shortcut to switch to my “Everything” perspective, and then uses the OmniFocus keyboard shortcut that moves the cursor to the search box.

This works really well for me. With one keystroke, regardless of what I’m doing on my Mac, my cursor ends up in the OmniFocus search box, ready to search all of my actions.
pjrbizcat says:
Thanks Evan for this. A useful macro – For those that try to follow it, you will need to click into the ‘click to record a keystroke’ window when building your perspective in OmniFocus and then to type the ctrl-alt-cmd-s. The keystroke isn’t shown in the screenshot of the perspective.
I hope that one of these days the omni group will get round to making the search field a search field rather than a ‘filter’ of the existing actions – then workarounds like this won’t be needed.
November 16, 2015 — 5:19 pm
Evan Kline says:
Thanks for the useful clarification. I’m glad that this was helpful.
November 16, 2015 — 5:27 pm