In the lead-up to my Learn OmniFocus workflow session, I wanted to share some of the nitty-gritty details of how I manage my tasks with OmniFocus. That session will focus on the magic of Omni Automation (✨!). So, over this week, I’m concentrating on the more foundational, structural side of things, like projects, tags, and perspectives.
At this point we’ve covered my main ‘dashboard view’, and a series of other custom perspectives. Managing this many perspective windows manually would be a recipe for madness. So, even though I’m focusing more on the structural setup with this short series, I think it’s time to introduce a few tiny sparks of automation magic to this setup.
Launching the Dashboard
Launching the dashboard ultimately looks like this:
1. Keyboard Maestro macro
I won’t reproduce the entire Keyboard Maestro macro here (for brevity) but if you’re interested you can download it to take a closer look. Broadly, it does the following:
- Closes any OmniFocus windows that are already open
- Re-opens OmniFocus
- Uses a menu item action to set the Focus mode. I have two simple Omni Automation actions set up that focus on either work or personal tasks, and they are named identically except for the ‘name’ of the focus, so I use a variable to run either ‘Focus on Personal’ or ‘Focus on B&C’, as applicable.
- Checks to see whether the sidebar, inspector, or toolbar are shown. If they are, it hides them.
- Creates a new window, navigates to the next custom perspective, and resizes the window.
The actions for the last step look something like the below. (Note that I have two slightly different versions of my dashboard (personal and work) and so, by using the %TriggerValue% variable in a couple of places, I get a little extra flexibility without having to create two separate macros.)
2. Custom workflow in Alfred
Alfred is my app launcher of choice and I’ve recently acquired the PowerPack. I regret not buying it sooner!
I’ve set up a custom workflow with two steps:
The first action is a list filter (shown below), which allows me to select either ‘Personal’ or ‘B&C’ to use as the trigger value for the Keyboard Maestro macro.
The second action is an AppleScript, which runs the Keyboard Maestro macro with the given trigger value:
Show In Project
From my dashboard view, I will sometimes see a task and want to view or edit its project. To help with this I’ve created a simple ‘Show In Project’ Plug-In and assigned this to a keyboard shortcut. This opens the selected task in the Projects view and focuses on that project. (I have it set to open in a new window, but that is optional.)
When I do open a new window using the above action, Quick Open, or some other way, it is usually the same size as the window that created it: if I’m opening it from a custom perspective, it’s about a sixth of the screen. In addition, it doesn’t have a toolbar, inspector, or sidebar, which for planning and tweaking is not optimal!
To get around this, I have a custom ‘Maximise’ macro set up in Keyboard Maestro that simply resizes the window to take up the full screen and shows each of these items.
Below you can see these ‘Show in Project’ and ‘Maximise Window’ automations in action:
Open New OmniFocus Window
I also have a Keyboard Maestro macro that intercepts the
⌘ + N keyboard shortcut while OmniFocus is open. This would usually be used to add a new task, but I don’t tend to use it that way and so I instead use it to create a new OmniFocus window and run the ‘Maximise OmniFocus’ macro from above.
Consider this your regular reminder that small quality-of-life automations are sometimes the best automations!
Next up in this series: switching contexts in OmniFocus.