TaskPaper 3.0 Preview (167)


Sorry this release took so long. I wanted to document the public scripting API, but along with that came lots of internal changes needed to cleanup various APIs. Going forward I think development will speed up again.

  • Added scripting API to User’s Guide.

  • Added item path /// shortcut to map to descendant-or-self axis.

  • Added full date/time query support. Format is described in user’s guide.

  • Changed to a single “move” style. Now moves are always by line instead of branch.

  • Changed color space used to create theme colors so they will match web colors exactly.

  • Changed focus/hoisted item to only show the item’s children, not the item itself.

    I know some people like to see the hoisted project name when they hoist a project, but this created many oddities in the UI and API because that hoisted item was a special case.

    Going forward I think the TaskPaper 2 behavior can be more cleanly recreated by applying a filter in the same way that TaskPaper 2 did. I plan to add support for this, but it’s not in place yet.

Download TaskPaper 3 Preview


Looks like a nice update.

I have a question about restoring window size/position/condition though. 166 and now 167 do not appear to remember any window position, size, and condition that I use.

So, if I open a file, hide the sidebar and resize the window, no matter what I seem to do, the next time I open that file (or any other file) it returns to a default size of the sidebar shown and a tiny window in the middle of my screen. I even tried reinstalling to see if this changed. Am I the only one seeing this? Is this intended behavior? I’d personally prefer a more typical behavior of remembering the window size and condition I set for new files.

Otherwise, still completely hooked on this app!


When you have time the stored searches: I have tried updating the syntax with all the new selectors (not too different), but the functionality of @search seems to have stopped working for me. I can imagine with all the new work this was a low priority but there was no mention of it in the release notes.


@jessegrosjean, I have played around with the dates, but for some strange reason, the next month hard coded date does not work as expected.

I tried the other hard coded dates, and it is just amazing. My whole workflow needs to be redone completely, and that is not necessarily a bad thing. I was also pleasantly surprised that in addition to what the manual says, one can also do something like +3 weeks and it works. I am really happy with this program.

Are you still thinking about implementing the month variable? I see that I can do something like +2 week, or +30 day and it works, but it doesn’t work with month.

Again. Thank you!


I noted that for some reason, my saved searches are not clickable from the side bar (All the saved @search lines at the end of my document). Is that a bug other people can see?

In other topics (I was encouraged by the site to add several topics in a post instead of creating several replies). I do enjoy the ability to type ///* instead of the whole descendant-or-self::* Are there other hard coded elements added? An example I remember was the idea of using /./* instead of having to type /ancestor*.


my saved searches after updating to 167, do not work anymore :frowning:
(nor do I get what’s eventually wrong with them :-/ )


Same here, the saved searches are broken and I’ve no clue why…


Thanks for all the reports… will get saved searches fixed soon. I changed a lot of stuff and everything was broken for a while. I didn’t realized that saved searches were still broken. Will fix soon.


Thanks for the update.

  1. I have tried running the sample Javascript from http://guide.taskpaper.com/creating_scripts.html and I’m getting an error:

    "TypeError: editor.getSelectedItems is not a function. (In 'editor.getSelectedItems()', 'editor.getSelectedItems' is undefined)\n\nTaskPaperContextScript\nevaluateScript@file:///Applications/TaskPaper3.app/Contents/Resources/dist/birch.js:49363:16\n\n\tUse the Help > SDKRunner to debug"

  2. Based on very quick experimentation, the scripting docs would benefit of a complete example that clarifying how one goes from editor to the other object and how can the options object can be used.


On the bright side, I’ve successfully moved my script copying selected items in OmniFocus2 to TaskPaper to use the new API.


Opps, that example used old removed API. I’ve just updated it to use editor.selection.items instead of the old editor.getSelectedItems() way.


Can you describe a bit more about what you would like to see… what’s the “other object”.


I’d like to take this beta for a test run but I’m told I’m out of “trial” days. Is that possibly true with a beta? I think I last tested around Sept, so I’m sure a lot has changed. I don’t mind a limited license, but I would like to see what has changed with TaskPaper. Anything that can be done?


Allow me to experiment a bit more with the API and I’ll send you a note.

(nb: that should read “other objects whose API is documented in the separate section”)


Keyboard shortcuts for Delete go to the Edit/Delete and not to Items/Delete. So i can’t create a keyboard shortcut to the Items/Delete.

I also can’t create a working shortcut for Select Branch. The shortcut shows up on the menu, but doesn’t do anything.


another small glitch: no black dot in red “traffic light” when document has unsaved changes

EDIT: ok, sorry: looks that it’s completely gone in every app under 10.11.x :frowning:


Ok, just to get you started the general object structure is:

  • outlineEditor
    • selection
    • outline
      • items


Folded items exploding if moved through an unfolded item. If I’ve created a sub-outline and folded it, i think it should be protected by TP. What is happening (new in 167, i think) is that a folded item explodes open and merges with the children of an unfolded item.


If I Move_Down ** Header1_folded_with_children** below Header2, Header1_folded_with_children explodes open, and Subheader2 ends up in the children of Header1_folded_with_children. I’ve even seen the Subheader2 disappear completely.

I don’t know if this is easy to code or not, but we need folded items to stay folded unless we explicitly open them. Else, what’s the point of folding?


Yes, that’s what I was looking for when reading the docs for the first time. Thanks Jesse.


Ok, I’ve added a very basic class diagram here: http://guide.taskpaper.com/scripting_api.html