Timewarrior

Timewarrior (timew) is Article description::a time management tool for the terminal. At its heart is a stopwatch-like timer that tags blocks of time with descriptive text. Data is stored locally in JSON format to ensure portability. From this data detailed time tracking reports can be generated. Like its sibling Taskwarrior, the Timewarrior application has a large ecosystem of related tools that have grown up around it.

Additional software
Timewarrior is designed to optionally integrate into by means of event-based hooks. To integrate the two programs must be copied to the  directory inside of the user's home.

Environment variables

 * $TIMEWARRIORDB - specifies the location of the directory.

Files

 * - the default location of user configuration data.
 * - time tracking data files separated by year and month.

Usage
If is run without any arguments it will provide information on any active tracking the application is performing:

Starting the time tracking process is as simple as:

‾ The timer will run until it is stopped by user action:

To get a summary of recently logged time:

Tagging allows the user to track time for specific projects. Tags can be single words or, if enclosed in single quotes, multiple words long.

This could then display as:

Timewarrior is not respecting the XDG Directory Specification
Curently Timewarrior has partial support for the XDG Directory specification. If the $TIMEWARRIORDB variable is set then will store its data at the location specified by the variable. If the directory exists and the $TIMEWARRIORDB variable is not set, then this directory is used by  to store data. If neither of these conditions are true, is used instead.

Provided is not running, moving an existing Timewarrior data directory from its legacy location to its XDG location should be as simple as: