Working with #tags to track your time
One of the most prominent features of TimeTagger is the use of tags. The use of tags creates a very lightweight way to organize records. There are no projects to create or manage; you just add tags as you see fit. Being able to add multiple tags to a record enables very flexible and interesting ways to get insight into your spent time. In this post I'll explain in detail how this works.
You create tags when you write the description of a time record, by starting a word with "#". You can create as many tags as you like. If you do not specify any tags, the record is implicitly marked "#untagged". The record dialog will show tag suggestions based on the most recently used tags. You can click these (or select with Ctrl+number) to add them to the description. But you can always use other tags simply by typing them!
Tags can contain all alphanumeric characters, including special characters like ë or é. Further, the dash ("-"), underscore ("_"), and forward slash ("/") are allowed. Tags are not case sensitive (and will usually be shown lowercase).
It's worth noting that if you add multiple tags, TimeTagger considers these tags unordered. We'll see below why this is. If you really want to enforce a certain structure, you could for instance use the forward slash to combine multiple words into a single tag, e.g. "#client1/meeting".
Get the overview with tags
Consider this week view from the demo. You can see (in the overview on the right) that the total duration for each combination of tags is shown, and that these are sorted by the spent time, while being automatically grouped in a sensible way.
The list in the overview is quite large, and does not tell you for instance how much hours you've worked for
#client1 in total. By clicking on a tag (e.g. on "#client1") you get an overview for that tag specifically. You can select multiple tags this way.
By first going back to the full overview (by clicking on "back to all"), and selecting another tag (e.g. "#meeting"), we get another more detailed overview. In this case the total time spent in meetings, divided over the different clients.
Note that the report (shown by clicking the report button at the top) applies to currently selected tags and time range.
Tags are solely defined by their presence in the description of the records. Renaming a tag thus means updating the description of all the records in which that tag is used. That would be a cumbersome process ... if there wasn't a tool to automate that.
The tag manager dialog can be opened via the menu (☰ Search & manage tags).
In the first text field, you can write one or more tags. The dialog will then search for records that contain all of these tags. The resulting list of records is displayed, and you can click on them to make changes to that record.
You can now also replace the tags in these records with another tag (or multiple tags):
- Rename a tag: replace a single tag with another single tag.
- Remove a tag: replace a tag with nothing.
- Split a tag in two: replace e.g.
- Merge two tags: replace e.g.