 | wcitypoe says:I just came up with a hell of a complex advanced search, and I thought the structure might be useful for others.
The expression is:
(((due:never OR dueBefore:today) NOT (list:BooksFun OR list:BooksNonF)) OR (isRepeating:true AND dueWithin:"2 days of today") OR (isRepeating:false AND dueWithin:"17 days of today") OR ((list:BooksFun OR list:BooksNonF) AND dueWithin:"7 days of today") OR (tag:weeklyreads AND dueWithin:"7 days of today")) NOT (tag:@work OR tag:@hold OR tag:@header OR list:zSomeday)
Breaking it down:
FIRST clause, surrounded by parantheses:
============> (due:never OR dueBefore:today NOT (list:BooksFUN or list:BooksNonF)) OR
Anything that has no due date or is overdue -- exempting my library reading list -- should be on this list.
============> (isRepeating:true AND dueWithin:"2 days of today") OR
If I've got a recurrent task, I want a shorter display period -- i.e., I don't want to be bothered with next week's "sweep the floor" reminder.
============> (isRepeating:false AND dueWithin:"17 days of today") OR
A non-recurrent task that I've given a due date, I want to see two and a half weeks out.
============> ((list:BooksFun OR list:BooksNonF) AND dueWithin:"7 days of today") OR
Show me library books due within a week.
============> (tag;weeklyreads AND dueWithin:"7 days of today")
Show me only the next installment of a number of lengthy books I've split up into weekly assignments.
SECOND clause, a "NOT" filter I apply to the tasks generated by the above:
============> tag:@work [OR] (tag:@home AND tag:@mac) OR
Depending on whether this is my 'home' list or my 'work' list. Instead of displaying only a @home tag at home and and only a @work tag at work, I instead filter OUT work-only tasks at home and filter OUT home-only tasks at work, leaving tasks which are location-neutral to appear on both lists.
============> tag:@hold OR
A hold tag -- my version of "disabling" a task while leaving it in the system, if I'm not ready to attack it any time in the near future.
============> tag:@header OR
A tip I picked up from someone else -- each of my manual project lists has a goal statement moved to the top via "Priority 1". These goal statements each have a @header tag on them so that for smart aggregating lists like these, they can be filtered out.
============> list:zSomeday
My "fantastical tasks to contemplate hashing out one day when everything else in the world is done" list. Posted at 3:29pm on June 26, 2007 |