You can apply a filter to a TimeStory document to view only a subset of its events, hiding others which don’t match the filter criteria. For example, you may want to quickly zoom in on all the events with a given person’s name in them, or you may want to hide all events completed before a given date.

The current filter is saved along with the document, so you can keep a persistent filter active over time.

Performing Filtering

To filter a document, click on the Filter button, use the Events > Filter Events menu choice, or press ⌘/. The “Filter Events” area will appear at the top of the window.

As you type into this field, TimeStory will filter out all non-matching events, letting you quickly get to the set of events you want. If any rows become completely empty, they are hidden, so your document will vertically compress.

Press Close (or hit the Esc key) to cancel the filter and restore the visibility of all events.

Searching for Text

To filter for a word, just type it in the Filter Events field.

If you type multiple words, separated by spaces, TimeStory searches for all of those words, but not strictly as typed; for example, deliver pizza will match Deliver 5 pizzas to the office, because both deliver and pizza are found.

Use quotation marks to match phrases exactly. For example “deliver pizza” (with the quotes) will not match Deliver 5 pizzas to the office, but it will match Ask John to deliver pizza.

Filtering by Date

You can filter events by date by entering one or more of these into your event filter:

For each of the above dates, you can use your preferred date syntax based on your home language; you can also use the form year-month-day no matter what region you’re in. Note that if your date contains spaces, you must put quotes around it.

Instead of a specific date, you can also just enter a year, or a month and year.

For example:

Date filters can be combined with text filters as described above or incorporated into more complex filters using ~, (), and |, as described below.

Filtering by Section

If your document is divided into sections, you can also filter by section name, using in:. To include only elements in the section named Travel, you can write in: Travel. Note that this will also match a section named Traveling or My travel to Asia, since it uses the same word-matching rules as event titles; just as with events, you can use quotation marks to be more exact: in: “My travel to Asia”.

(Note: You may omit the space after the :, but not the one before it. So in: S is the same as in:S, but in : S is not correct, and will just match events with titles containing the words in or S.)

Combining and Negating Filters

You can search for multiple alternatives using the | character. For example, pizza | sandwiches will match either pizza or sandwiches, and in: “West Coast” | in: “East Coast” will include events in either the West Coast or the East Coast sections.

Use parentheses to group terms together: deliver (pizza | sandwiches) will match deliver pizza or deliver sandwiches.

To exclude a term from your search, precede it with a tilde character: deliver ~pizza will require deliver, but will exclude anything containing pizza, and ~ < 2021 will exclude any events which end before the year 2021 starts.

You can combine these terms freely, mixing (, ), |, and ~ characters as you wish. If you enter in a nonsensical filter, for example a ( without a matching ), or a ~ which doesn’t precede anything, then TimeStory will try to do its best, and will point out the mistake if you hit the Return key.

Hiding Sections With No Matches

By default, the “Hide sections with no matches” option in the Filter panel is enabled. This means that, as you enter your filter, only those sections containing matching events will remain visible—any sections without matching events will be hidden.

(Note that collapsed sections containing matching events will still be shown, although collapsed.)

Uncheck this box to keep all section headers visible, even if they contain no matching events.