Use Cases ========= Simplest usage, as a clock: $ timew start $ timew stop This uses a 'default' tag. By using tags, this becomes: $ timew start tag1 # Start tracking now $ timew start "Home Improvement Project" # Stop old interval, start new interval now $ timew stop # Stop all tracking $ timew report month # Run report 'month' If a time is specified, it always means today: $ timew track 8am - 10am tag1 If days are specified, they always mean the past: $ timew track mon - wed tag1 If today is thursday, the following covers the curent week because the previous monday would be after the previous friday, therefore the friday refers to the next friday, at EOW: $ timew track mon - fri tag1 If overlapping intervals are permitted (configuration: interval.overlap=yes), then this creates overlapping intervals: 1 $ timew start tag1 ... 2 $ timew start tag2 ... 3 $ timew stop tag1 ... 4 $ timew stop tag2 With overlapping intervals: o-------o tag1 o--------o tag2 1--2----3---4---> time Track time but backfill to the most recent interval end: $ timew track fill tag1 Record yesterday's time: $ timew track yesterday tag1 Defining Exclusions: $ timew define holidays eng-USA $ timew define holidays work 2015-11-26 $ timew define workweek mon-fri $ timew define workday start 8:30am $ timew define workday end 1730 $ timew define workday tue end 3pm The above examples simply use ad-hoc tags, which is an undefined tag. They are simply used as tags, and have no metadata. Defining a tag allows it to have associated metadata: $ timew define tag "tag1" $ timew define tag "tag1" description "Description of tag1" $ timew define tag "tag1" start 2016-01-01 $ timew define tag "tag1" end 2016-06-30 $ timew define tag "tag1" budget 20 hours per week $ timew define tag "tag1" budget 400 hours total $ timew define tag "tag1" overlap ---