I am looking for a solution to my flagging problem

Most of my tasks are tagged with dates (@Today, @Monday, @Tuesday@February@Year 2027 …). Only the many repetitive little tasks are given a defer date, and only very important tasks with consequences if not completed are given a due date.

In my Today perspective, the corresponding tasks are displayed as a list. I then flag the tasks I want to complete, and these are displayed grouped accordingly. If I mark a flagged recurring task with a defer date as completed, the flagged task disappears from the perspective and I have to search for the task in Omnifocus to remove the flag. If I remove the flag before checking it off, the task immediately slips down into the group of unflagged tasks and I then have to search for it there to mark it as completed. It’s annoying. Does anyone have any idea how to remove the flag at the same time as checking off the task?

The method I can think of is to try writing a batch script using AppleScript that, when triggered, removes the flag and marks the task as “completed.” Have you tried anything similar?

I will invert your problem. Perhaps consider why you need to remove the flag from a completed task. Without that step, your troubles stop when you mark the task as completed.

Otherwise, I wonder if a properly designed Perspective (flagged + deferred + completed + …) could find the task.

EDIT: Perhaps the reason to unflag is that you do not want the flag to propagate to the next reoccurrence of the repeating task when you subsequently mark that task as complete. If so, as noted above, an AppleScript could carry out the proper sequence (unflag first and then mark complete).


JJW

If I understand this correctly, it is the old task vs. template problem. When you have a repeating task, you are not working with a single task; you are working with a template (or “factory” or “class of”) all task iterations, current and future. The head task is not split off until you complete the task. Until then, all you have is the template, not the task, and any changes you make to the template will apply to all future tasks.

This works for a large number of use cases but is not always what you want.

The opposite would be to detach a head task from the template first and then to change that in whatever way you want.

I wrote a simple plugin for this, see attached. You select a repeating task (the template) then call the plugin, which

  1. Completes the repeating task, thus detaching a (completed) head instance from the template, and
  2. Immediately “un-completes” it.

It tries its best to sort the head instance precisely at the same spot where the template was before but that doesn’t work in all perspectives for whatever reason.

Assign a shortcut to it on the Mac.

Detach Head.omnifocusjs (2.2 KB)

Sorry for the late reply.

All my recurring tasks are everyday things, like “Feed the sourdough starter” (every week), “Sharpen the kitchen knives” (every two months), “Prepare bread dough” (every week), “Check the oil level in the Hyundai i10” (every two months), “Check the freezer contents on my iPad” (every week), and so on.

I have about 60 tasks that repeat themselves on specific schedules. None of these tasks require multiple steps, as they are already routines in my daily life.

For the more complex tasks, I use a system with tags like @Today, @Monday, @Tuesday, @Weekend, @May, @June, @2027, @2028, and due dates that serve only as warnings that a more complex task needs to be started after the specified due date. Detailed planning is then done using tags (@Monday …etc.). I’ve been using this method of planning with tags for a very long time, and it works without any problems. A More Powerful Way to Schedule Tasks in OmniFocus – Colter Reed

I work with a Today Perspective that displays all today’s tasks (either with the current date or the “Today” tag).

Then, the evening before or the next morning, I go there and flag all the tasks I want or need to complete/start “today.” This displays two sections in the perspective: all flagged tasks and unflagged tasks. When I complete a task and check it off, it disappears from the perspective view, and as soon as it becomes relevant again, it reappears one day among the tasks I want to complete. If I remove the flag before checking it off, the task jumps to the section of unscheduled tasks, and I then have to search for it to check it off. This is annoying and also leads to problems.

I would like it if there was a “button” (optional, of course) in the perspectives that would allow me to “clean up” the This could trigger the Perspective action. This would allow me to remove flags and delete tasks without changing the view. If I press the “Request” button, all items are either checked off or, if flags are removed, moved down to the second section as no longer relevant.

You could use one more tag: @active. For those tasks that you flag, also set the @active tag. Clean up would start by searching for @active tasks, removing the flag, and marking the task completed.

Otherwise, if your issue is that repeat tasks carry the flag, your start up may have to include a step to unflag all tasks before you subsequently review for what you want to flag.

In summary, I see no easy way around the problem, and see no immediate likelihood that your feature request is implemented.


JJW

Hello @Monika,

tell me what you‘d like to have and I can make you a plugin you can call e.g. using a keyboard shortcut.

Hi Logan,
Thanks so much for your kind offer 👍. It’s given me a reason to start exploring Shortcuts myself. I ordered a book on the subject 15 minutes ago 😆. As a former developer and co-owner of a software company (for 28 years), I should be able to write a small script, even though I’ve been working in a different field for more than 13 years since then. Now I’m feeling ambitious. Let’s see if it works out.

Dear @Monika ,

I‘ve done a simple plugin, before I got your reply, yesterday. Hope I don‘t spoil the fun.

Viele Grüße

CompleteAndUnflag.omnifocusjs (821 Bytes)

2 Likes

Dear Logan,

thanks, it works great. This script is exactly what I need

Liebe Grüße

1 Like