How I work (Workflow)


I use Scrivener for my daily journal. I am independent so I do many things. I use Typinator which puts out a daily boilerplate with a couple of keystrokes. It uses scripts to access my calendar (todays calendar events, tomorrows calendar events, events related to xyz project, etc.)

I also use it to count days, weeks, months, etc. before or until a date (last haircut was 7 days ago, next appointment with Person xyz is 34 days on Sep 01, sent a query about topic xyz 14 days ago (waiting for a response).

I also have expansion snippets for time stamps, date stamps, new entry date stamps, etc., that I can use in any place I am using text. Typinator will output graphics, formatted text, non formatted text, and it will keep linked text if you put it in there.

I have a TP3 Task document that I open and size up automatically with scrivener on the same vertically rotated screen. Keyboard Maestro handles putting the two apps up in the same proportion with a single keystroke.

I use @tags in TP3 to help me focus on tasks I need to focus on, things waiting, etc. To help me keep things written down so I don’t forget i use tags. Clicking on an @task tag shows me all the things out of all the many things I have tried to remember that I need to do now.

When I have an event to be done that day, I drag it into my Calendar app (BusyCal, although Calendar works the same way). This allows my future Typinator script to find the task if it is still not done. It also allows my iPhone calendar to sync and stay in touch with my daily to do list.

And, one last tip I learned on YouTube, I have added two calendars in Calendar, one named TODO and one named TODO_Done. When I drag things from TP3 over a calendar I usually drag it to the top meaning it is an untimed or all day event. Then I drag that over the TODO calendar and it becomes that color. When it is done I drag if over the TODO_Done calendar and it becomes that calendar. On my iPhone I have it set to show all calendars EXCEPT TODO_Done so when I have finished a task it leaves my iPhone calendar. Of course, I can also drag it to the time slot where it should be if it is an appointment that I have set.

ADDED: I got help on another thread and learned how to save searches in TP3 and keep them in the sidebar. Works great.

To Do @search(((@task or @nearfuture or @whyputoff) and not @done) and not @search)
FWIW: There is an escape character before the final paren but that is not being displayed here on this page

Using TP 3 as a diary. A question:
How do you use TaskPaper?

@mylevelbest, is Typinator required for your script to work ? Would you mind sharing it ?


Sure, the Ergonis (Typinator) support person has been extremely helpful. In Typinator open the Includes folder which is at the bottom of the popup menu with all the keys strokes, dates, etc. Duplicate one of the scripts there, rename it as “DaysSinceUntil.scpt” and replace the contents with:

function expand(dateParameter, context) { // – parameter: yyyy-mm-dd
var today = new Date()

var eventDate = new Date(dateParameter)

var sinceUntil = eventDate > today ? 'until' : 'since'

var mSecPerDay=1000*60*60*24
var diffMsec = Math.abs(today-eventDate);  // difference in milliseconds
var diffDays =  Math.round(diffMsec/mSecPerDay)
res1 = diffDays < 10 ? '0' + diffDays : diffDays

return "{{refDate=" + dateParameter + "}}" + res1 + " days "  + sinceUntil


// expand(“2016-06-02”) // for testing in Script Editor

Now change the date and the text of the following line and put it in an expansion.

• {Scripts/DaysSinceUntil.scpt 2016-07-22}:{tab}Last Haircut{tab}{tab}{tab}{tab}{tab}{tab}- {N} {DD} ({W})

This says on such a date I had my last haircut. It expands to say that I got my last haircut xx days ago. I have used this same script as many times as I like for things like an important meeting I have to prepare for as it will count how many days until as well. The nice thing is that, once you have the actual script in the includes folder, all the script lines you care to use run the same script so all you have to do is change the text and the date.

I also use the following script using icalbuddy in Nerdtool. I have several across my monitors, modifying each one by days counted of course.

/usr/local/bin/icalBuddy -sd -nc -nrd -df “%a, %b %d - TODAY” -b "\n• " -eep “notes”,“location”,“attendees”,“url” -ec “TODO_Done”,“Repeating”,“US Holidays”,“Graphic”,“ProjectY”,“Tasks”, eventsFrom:Today to:Today 2>/dev/null

echo “”

This is meant to show me just what is going on, no notes, location URLs or attendees. It also does not show me TODO_Done so when I have completed something and changed the calendar it is on it goes away from my sight.

Of course I also use BusyCal for actual entry of events and fully contemplating time…

I also use this i a script in Typinator but that has been proving to be a little bit unstable. The problem I am suspecting is in the icalbuddy interface, stable enough using Nerdtool but a little iffy using Typinator. Unusual for anything that Typinator does. And BTW, Typinator is way better than TextExpander. I used TE for years and, no disrespect to the kind people who work there but its really no contest IMHO what Typinator can do and how stable it is is.