Perspectives At-the-Ready
Key commands are an excellent means of getting around a program, and Keyboard Maestro brings key commands to the general Mac OS.
Most of the custom perspectives Iâve designed in OmniFocus are assigned a key command. However, the key commands only work when OmniFocus is the front-running program.
Using Keyboard Maestro, I have macros created to immediately call my most commonly requested perspectives, opening OmniFocus when needed, regardless of my present active application.
As an example, I like to view my âlaptop coreâ tasks easily. Usually, I would have to navigate to OmniFocus before calling the perspective with Control-Command-l. In the cases when OmniFocus is not already open, I would then need to open it before going to the perspective.
Now I just type Control-command-l wherever I am and the requested perspective appears. If this sounds appealing to you, read on.
Cautions
* In creating key commands with Keyboard Maestro, one needs to be wary of creating hotkeys that may interfere with the hotkeys of Mac OS or other applications.
** Keyboard Maestro seems to be one of those programs that really rewards experimentation. I’m still experimenting, so follow along if you dare …
Creating the Folder
When OmniFocus is running, a path to call up a perspective by key command already exists. Rather than risk confusing the system, we need to tell Keyboard Maestro that it is not needed when OmniFocus is the front-running application. To do so, we can create a folder group in Keyboard Maestro with this specific command for all macros listed inside:
- Create a Group in Keyboard Maestro by selecting the plus sign in the bottom left corner:

- Title it something like, âOmniFocus Perspectivesâ.
Weâll now create a set of parameters for the folder.
- In the editing pane, select âAvailable in all applicationsâ:

ïżŒ
- Choose âAvailable except in the following applications:â:

ïżŒ
- Select OmniFocus:

ïżŒ
- Leave âAlways Activatedâ as is.
We now have a folder in which we can create our perspectives:

Creating a Perspective Command
To create a new command by which weâll call up a perspective:
- Select the plus sign on the bottom:

- Title it the name of the perspective youâd like to call.
Here, Iâll do “Laptop Core Perspective” under which I have only Flagged and Due items in contexts available for the laptop:

- Select âNew Triggerâ and choose âHot Key Triggerâ:
ïżŒ

- Type the same key command assigned to the perspective in OmniFocus:
ïżŒ

Assigning Actions
Now, we assign actions. Weâll need to open OmniFocus and select the perspective.
- Select the area that says âNo Actionâ:

- The actions choices appear on the left:

To search,
- Type the desired command in the left search pane. Here, weâll use âOpenâ.
- Double click âOpen a File, Folder, or Applicationâ:

ïżŒ
- Select âUnknownâ and choose the application âOmniFocusâ from your applications.

- Again, select âNew Actionâ: (If it does not appear, then it is likely that the actions menus are already open. Skip this step.)
ïżŒ

- Search for and double-click âSelect a Menu Itemâ:

In the resulting fields,
- Type the Menu Title as “Perspectives” and the Menu Item as the exact name of your perspective. In this case, I have written âLaptop Coreâ:

- Select “Current Application” and choose the OmniFocus application:

The completed list appears as:

- Select the Edit button on the bottom to close the editing process:

Inserting a Pause (an optional step)
This may be particular to my own system, but adding a pause here allows Keyboard Maestro to open a perspective more reliably. Otherwise, when Omnifocus is closed before executing the macro, the program opens, but the requested perspective does not, (possibly because OmniFocus is still opening when the perspective request is made).
- Open the editing process by selecting the editing button on the bottom again.
- Select “New action”
- Search for and double-click “Pause”:

- Drag and drop the Pause between the opening of the application and the selection of the menu:

I find that 0.5 seconds is plenty of time:

Now, when using another application, you can call up the perspective you want without opening or moving to OmniFocus first.
Other Options
If desired, you can also add the action âHide Other Applicationsâ. This might be useful with a customized Inbox perspective, for example, where you may want to hide everything from view while entering thoughts.
You can create additional perspective macros easily by duplicating the one already made with Command-D and making the necessary adjustments. A bonus is that since it is already in the dedicated “OmniFocus Perspectives” folder that we first created, the new perspective macro will inherit the same properties.
For further study …
If you really want to start getting into Keyboard Maestro, then consider:






Love it!
Somewhat related: I tweeted this OmniFocus tip: 1) Create “Search” perspective showing all remaining items; 2) Assign to ââ§F (always open in new window); 3) Search away!
Now I use Keyboard Maestro to open that Search perspective, then type ââ„F. (This activates the search field so I can start searching right away.)
That’s a neat idea, Dan! I’ll have to give that a run.
There’s also a neat script to get to your projects by Launchbar courtesy of Rob Trew.
You may already be doing this, but one thing to consider is putting them all into Keyboard Maestro under the same keyboard shortcut. This gives you a menu of all of your perspectives. They show up alphabetically sorted (or you can add numbers in the name) and from there you just choose the number (hit three on the keyboard to choose the third perspective). It will suck up a lot less of your keyboard shortcuts. Or you can always hybrid it and give your primary perspectives their own command and batch all of your occasional ones.
Total hat tip to Gabe on this: http://www.macdrifter.com/2011/09/too-many-triggers/
Mike, I haven’t done that, actually, though I can totally see that as a very useful means of compiling perspectives. I’ll give it a shot and see how it goes.
Thanks!
Donât forget to read the comments in Gabeâs article. Itâs actually even better to create a macro palette shortcut and then assign custom shortcuts to the specific macros. The macro shortcuts will be only active inside the macro palette and can also be something else than numeric values.
I would also suggest that you get rid of the activate application step and just select the menu item in OmniFocus (available via the menu, instead of current application). You can still activate OmniFocus after selecting the menu item if you want to bring the application to the front. This should work more reliably and donât need a delay.
With a macro palette you also donât have to exclude OmniFocus as the application. Iâve set a global palette to âP and then I just press i for Inbox, c for Contexts etc.
Rafael – yeah – Mike was making a similar suggestion. I plan to try that for a subset of macros, but the major ones will likely get their own key combinations.
The problem with removing the activation of OmniFocus, is that I would like to be able to open the program when it is closed, too.