How can I show only one of the available actions in a perspective?

Hi, I’d like to make a perspective that shows only one action that matches the perspective’s filter, even if more are available. For example, if Water Plants, Walk Dog and File Taxes are all available, I’d only see Water Plants until I complete it, then Walk Dog, and so on. The trick is that I’d like these actions to come from multiple projects, so putting them in one sequential project isn’t going to work. I’d also like to do this without flagging them one at a time.

Can anyone suggest how to accomplish this? I wonder if a custom script is the only way to achieve this.

1 Like

I tried doing this some time ago but I could not find a way to do it, I am not sure this is even possible they way you are describing it.

Hi @michael2!

Unfortunately, I don’t think there’s a way to do what you’re asking right now. I believe the closest OmniFocus comes is the “First Available” view filter in the built-in perspectives (like Projects and Contexts). This view setting shows only one available item per project, even if there are more items available. It doesn’t cut across projects, though, so if you have multiple projects with available items, you’ll still see one per project.

If this ability would be helpful to your workflow, please feel free to send in an email to our support team describing the feature. Emailing lets us keep track of these requests more closely – and maybe support can help come up with other workarounds in the meantime.

Thanks for using OmniFocus!

Thanks; I’ll do so!

This Applescript gives a dialog with the first task in the Perspective. Change pPerspectiveName to the Perspective that you want to consider.

property pPerspectiveName : "Forecast"

on run

tell application "OmniFocus"
	tell front document window of default document to set its perspective name to pPerspectiveName
	tell content of front document window of default document to ¬
		set TreeList to (value of every leaf)
	set theFirstOne to the first item of TreeList
	set theTask to (name of theFirstOne) & " (" & (the name of the context of theFirstOne) & ")"
end tell
display dialog "Your first task is: " & theTask
end run


1 Like

Thanks; this is helpful! I ended up sending it over to an always-on-top sticky for now.