Awesome
alfred-search-omnifocus
What is this?
This is a workflow for Alfred that performs free text searches on OmniFocus data.
Doesn't something like this already exist?
Yes! This workflow is based on the Search Omnifocus workflow which no longer works with the latest version of macOS. This is a rewrite in Javascript and uses Alfy to do the heavy lifting.
Why would I want such a thing?
Well, I want it because I can't quickly search for, say, a task within OmniFocus using OmniFocus' search field. OmniFocus restricts search results to the current perspective or selection. Other people have noticed this too .
How to install
Pre-requisites
This workflow relies on Node.js. Follow these instructions to install.
-
Install the workflow using
npm
npm install --global alfred-search-omnifocus
-
Open Alfred Preferences (
alf
) and - if you have the old version of the workflow installed - disable the existing workflow "Search Omnifocus" by right clicking on it and unchecking Enabled -
Run Alfred command
find-of-db
to copy the path of the Omnifocus database to your clipboard. If you have both Omnifocus 3 and Omnifocus 4 installed you will get both paths on your clipboard, and you need to paste the paths somewhere and choose which one you want. -
Run Alfred command
set-of-db
and then paste (⌘-V) the database path as an argument
Note, if you're using
zsh
,fish
or another shell, typebash
before step 1 to ensure that you install the workflow using the system node.js installation
Troubleshooting
I'm seeing errors in the Alfred log related to NODE_MODULE_VERSION or better-sqlite3?
Yes, this has been a pain to resolve. Try this to fix:
- Open Alfred preferences
- Right click on the Search OmniFocus JS workflow and choose Open in Terminal
- Check that you're using the correct version of node as used by Alfred (as of writing
v18.12.1
)bash
node -v
- In your Terminal app - in the Alfred workflow folder opened in the step before! - remove the
node_modules
folder then install the correct packages for your environment by following these commands:rm -rf node_modules/
npm install
- Then retry the worfklow
It has also been reported that installing Xcode can resolve this issue.
Hang on? Why do I have to type
bash
?
Alfred runs the workflow runs from the macOS installed version of bash (/bin/bash) so the workflow version of node.js expects packages that the workflow depends on to be built for the macOS version of node.
How to use
Note
This workflow only works with OmniFocus 3 and OmniFocus 4.
Searching for tasks
- Search for all tasks within OmniFocus (irrespective of status) with
.s
:
Note, use .sc
to search for completed tasks only.
Searching for tasks in the Inbox and the Library
- Search for all tasks within OmniFocus (whether you've processed them or not) with
.se
.
Searching the inbox
- Search the OmniFocus inbox with
.i
:
or just list all tasks in the inbox with .li
.
Searching for projects
- Search for projects with
.p
:
Searching for tags or contexts
- Search for a specific tag with
.t
or context with.c
:
or just list all tags with .lt
or contexts with .lc
:
- Search for a specific context with
.c
:
Searching for perspectives
- Search for a specific perspective with
.v
:
or just list all perspectives with .lv
:
Searching for folders
- Search for a specific folder with
.f
:
or just list all folders with .lf
:
Searching for task or projects notes
- Search for a specific note in a task or project with
.n
:
- Search for a specific note in a flagged task
.ng
- Search for a specific note in active task
.na
Narrowing results
- Search just for active tasks with
.sa
:
or just for active projects with .pa
:
- Search all flagged tasks with
.g
:
or for flagged and active tasks with .ga
:
- Not supported yet Show the 10 most recently modified tasks with
.r
:
or show the 10 most recently modfified and non-completed tasks or projects with .ra
:
- Not supported yet Show overdue or due items with
.d
:
Thanks to...
- Sindre Sorhus: for providing Alfy, the JS library for Alfred workflows
- Marko Kaestner: I used the in-depth workflow to provide some insight into how to search Omnifocus.
- Danny Smith: for providing a new, and quite frankly, much improved workflow icon.
- Font Awesome: for the other icons used in this workflow