mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-06-26 10:54:28 +02:00
535 lines
15 KiB
Groff
535 lines
15 KiB
Groff
.TH timew 1 2015-11-29 "${PACKAGE_STRING}" "User Manuals"
|
|
|
|
.SH NAME
|
|
timew \- A command line time tracker.
|
|
|
|
.SH SYNOPSIS
|
|
.B timew <command> [<arg> ...]
|
|
|
|
.SH DESCRIPTION
|
|
Timewarrior is a command line time tracker. It allows you to very easily track
|
|
your time spent on projects, and generate summary reports.
|
|
|
|
.SH SUBCOMMANDS
|
|
|
|
Timewarrior supports many commands. Alphabetically:
|
|
|
|
.TP
|
|
.B timew
|
|
.br
|
|
When run with no arguments, the default command is run, which indicates whether
|
|
there is any active tracking, and if so, shows a summary, and exits with a code
|
|
0. If there is no active time tracking, exit code is 1.
|
|
|
|
.TP
|
|
.B timew cancel
|
|
If there is an open interval, closes and abandons it.
|
|
See also 'stop'.
|
|
|
|
.TP
|
|
.B timew config [<name> [<value> | '']]
|
|
Allows setting and removing configuration values, as an alternative to directly
|
|
editing your ~/.timewarrior/timewarrior.cfg file. For example:
|
|
|
|
$ timew config verbose yes
|
|
$ timew config verbose ''
|
|
$ timew config verbose
|
|
|
|
The first command sets 'verbose' to 'yes'. The second sets it to a blank value
|
|
which overrides the default value. The third example deletes the 'verbose'
|
|
setting.
|
|
|
|
When modifying configuration in this way, interactive confirmation will be
|
|
sought. To override this confirmation, use the ':yes' hint:
|
|
|
|
$ timew config verbose yes
|
|
$ timew config verbose ''
|
|
$ timew config verbose :yes
|
|
|
|
If no arguments are provided, all configuration settings are shown:
|
|
|
|
$ timew config
|
|
verbose = yes
|
|
...
|
|
|
|
See also 'hints', 'show'.
|
|
|
|
.TP
|
|
.B timew continue
|
|
Resumes tracking the most recently closed interval. For example:
|
|
|
|
$ timew track yesterday 9am - 5pm tag1 tag2
|
|
$ timew continue
|
|
|
|
The 'continue' command creates a new interval, starting now, and using the
|
|
tags 'tag1' and 'tag2'. See also 'start', 'stop'.
|
|
|
|
.TP
|
|
.B timew day [<interval>] [<tag> ...]
|
|
The day command shows a chart depicting a single day (today by default), with
|
|
colored blocks drawn on a timeline. The chart summarizes the tracked and
|
|
untracked time.
|
|
|
|
Accepts date ranges and tags for filtering, or shortcut hints:
|
|
|
|
$ timew day monday - today
|
|
$ timew day :week
|
|
$ timew day :month
|
|
|
|
The 'reports.day.range' configuration setting overrides the default date range.
|
|
The default date range shown is ':day'.
|
|
|
|
The ':blank' hint causes only the excluded time to be shown, with no tracked
|
|
time.
|
|
|
|
For more details, and precise times, use the 'summary' report.
|
|
|
|
See also 'week', 'month', 'summary'.
|
|
|
|
.TP
|
|
.B timew diagnostics
|
|
This command shows details about your version of Timewarrior, platform, how it
|
|
was built, compiler features, configuration, file access, extensions and more.
|
|
The purpose of this command is to help diagnose configuration problems, and
|
|
provide supplemental information when reporting a problem. See also 'extensions'.
|
|
|
|
.TP
|
|
.B timew export [<interval>] [<tag> ...]
|
|
Exports all the tracked time in JSON format. See also 'import'.
|
|
|
|
.TP
|
|
.B timew extensions
|
|
Displays the directory containing the extension programs, and a table showing
|
|
each extention and its status. See also 'diagnostics'.
|
|
|
|
.TP
|
|
.B timew gaps [<interval>] [<tag> ...]
|
|
Displays a summary of time that is neither tracked, nor excluded from tracking.
|
|
|
|
The 'reports.gaps.range' configuration setting overrides the default date range.
|
|
The ':blank' hint causes only the excluded time to be shown, with no tracked
|
|
time.
|
|
The default date range shown is ':day'.
|
|
|
|
See also 'summary'.
|
|
|
|
.TP
|
|
.B timew help [<command> | hints | interval]
|
|
The help command shows detailed descriptions and examples of commands,
|
|
supported hints and interval syntax. For example:
|
|
|
|
$ timew help
|
|
$ timew help start
|
|
$ timew help hints
|
|
$ timew help interval
|
|
|
|
.TP
|
|
.B timew month [<interval>] [<tag> ...]
|
|
The month command shows a chart depicting a single month (current month by
|
|
default), with colored blocks drawn on a timeline. The chart summarizes the
|
|
tracked and untracked time.
|
|
|
|
Accepts date ranges and tags for filtering, or shortcut hints:
|
|
|
|
$ timew month 1st - today
|
|
$ timew month :week
|
|
|
|
The 'reports.month.range' configuration setting overrides the default date range.
|
|
The default date range shown is ':month'.
|
|
|
|
The ':blank' hint causes only the excluded time to be shown, with no tracked
|
|
time.
|
|
|
|
For more details, and precise times, use the 'summary' report.
|
|
|
|
See also 'day', 'week', 'summary'.
|
|
|
|
.TP
|
|
.B timew [report] <report> [<interval>] [<tag> ...]
|
|
Runs an extension report, and supports filtering data.
|
|
The 'report' command itself is optional, which means that these two commands
|
|
are equivalent:
|
|
|
|
$ timew report foo :week
|
|
$ timew foo :week
|
|
|
|
This does however assume there is a 'foo' extension installed.
|
|
|
|
.TP
|
|
.B timew shorten @<id> [@<id> ...] <duration>
|
|
The 'shorten' command is used to advance the end date of a closed interval.
|
|
Using the 'summary' command, and specifying the ':ids' hint shows interval IDs.
|
|
Using the right ID, you can identify an interval to shorten. For example, show
|
|
the IDs:
|
|
|
|
$ timew summary :week :ids
|
|
|
|
Then having selected '@2' as the interval you wish to shorten:
|
|
|
|
$ timew shorten @2 10mins
|
|
|
|
Note that you can shorten multiple intervals,:
|
|
|
|
$ timew shorten @2 @10 @23 1hour
|
|
|
|
See also 'summary', 'tag', 'untag'.
|
|
|
|
.TP
|
|
.B timew show
|
|
Displays the effective configuration, in hierarchical form.
|
|
See also 'config'.
|
|
|
|
.TP
|
|
.B timew start [<date>] [<tag> ...]
|
|
Begins tracking using the current time, and the specified optional set of tags.
|
|
If a tag contains multiple words, and therefore contains spaces, use quotes to
|
|
surround the whole tag. For example, this command specifies two tags ('weekend'
|
|
and 'Home & Garden'), the second of which requires quotes.
|
|
|
|
$ timew start weekend 'Home & Garden'
|
|
|
|
An optional date may be specified to indicate the intended start of the tracked
|
|
time:
|
|
|
|
$ timew start 8am weekend 'Home & Garden'
|
|
|
|
Quotes are harmless if used unnecessarily. See also 'continue', 'stop', 'track'.
|
|
|
|
.TP
|
|
.B timew stop [<tag> ...]
|
|
Stops tracking time. If tags are specified, then they are no longer tracked.
|
|
If no tags are specified, all tracking stops. For example:
|
|
|
|
$ timew start tag1 tag2
|
|
...
|
|
$ timew stop tag1
|
|
|
|
Initially time is tracked for both 'tag1' and 'tag2', then 'tag1' tracking is
|
|
stopped, leaving tag2 active. To stop all tracking:
|
|
|
|
$ timew stop
|
|
|
|
See also 'cancel', 'continue', 'start', 'track'.
|
|
|
|
.TP
|
|
.B timew summary [<interval>] [<tag> ...]
|
|
Displays a report summarizing tracked and untracked time for
|
|
the current day by default. Accepts date ranges and tags for
|
|
filtering, or shortcut hints:
|
|
|
|
$ timew summary monday - today
|
|
$ timew summary :week
|
|
$ timew summary :month
|
|
|
|
The ':ids' hint adds an 'IDS' column to the summary report output, for interval
|
|
modification.
|
|
|
|
See also 'day', 'week', 'month', 'tag', 'untag'.
|
|
|
|
.TP
|
|
.B timew tag @<id> [@<id> ...] <tag> [<tag> ...]
|
|
The 'tag' command is used to add a tag to an interval. Using the 'summary'
|
|
command, and specifying the ':ids' hint shows interval IDs. Using the right ID,
|
|
you can identify an interval to tag. For example, show the IDs:
|
|
|
|
$ timew summary :week :ids
|
|
|
|
Then having selected '@2' as the interval you wish to tag:
|
|
|
|
$ timew tag @2 'New Tag'
|
|
|
|
Note that you can tag multiple intervals, with multiple tags:
|
|
|
|
$ timew tag @2 @10 @23 'Tag One' tag2 tag3
|
|
|
|
See also 'summary', 'untag'.
|
|
|
|
.TP
|
|
.B timew tags
|
|
Displays all the tags that have been used.
|
|
|
|
.TP
|
|
.B timew track <interval> [<tag> ...]
|
|
The track command is used to add tracked time in the past. Perhaps you forgot
|
|
to record time, or are just filling in old entries. For example:
|
|
|
|
$ timew track :yesterday 'Training Course'
|
|
$ timew track 9am - 11am 'Staff Meeting'
|
|
|
|
Note that the track command expects a closed interval (start and end time), when
|
|
recording. If a closed interval is not provided, the 'track' command behaves the
|
|
same as the 'start' command.
|
|
|
|
.TP
|
|
.B timew untag @<id> [@<id> ...] <tag> [<tag> ...]
|
|
The 'untag' command is used to remove a tag from an interval. Using the 'summary'
|
|
command, and specifying the ':ids' hint shows interval IDs. Using the right ID,
|
|
you can identify an interval to untag. For example, show the IDs:
|
|
|
|
$ timew summary :week :ids
|
|
|
|
Then having selected '@2' as the interval you wish to untag:
|
|
|
|
$ timew untag @2 'Old Tag'
|
|
|
|
Note that you can untag multiple intervals, with multiple tags:
|
|
|
|
$ timew untag @2 @10 @23 'Old Tag' tag2 tag3
|
|
|
|
See also 'summary', 'tag'.
|
|
|
|
.TP
|
|
.B timew week [<interval>] [<tag> ...]
|
|
The week command shows a chart depicting a single week (current week by
|
|
default), with colored blocks drawn on a timeline. The chart summarizes the
|
|
tracked and untracked time.
|
|
|
|
Accepts date ranges and tags for filtering, or shortcut hints:
|
|
|
|
$ timew week
|
|
$ timew week monday - today
|
|
|
|
The 'reports.week.range' configuration setting overrides the default date range.
|
|
The default date range shown is ':week'.
|
|
|
|
The ':blank' hint causes only the excluded time to be shown, with no tracked
|
|
time.
|
|
|
|
For more details, and precise times, use the 'summary' report.
|
|
|
|
See also 'day', 'month', 'summary'.
|
|
|
|
.SH INTERVAL
|
|
An interval defines a block of time that is tracked. The syntax for specifying
|
|
an interval is flexible, and may be one of:
|
|
|
|
[from] <date>
|
|
[from] <date> to/- <date>
|
|
[from] <date> for <duration>
|
|
<duration> before/after <date>
|
|
<duration> ago
|
|
[for] <duration>
|
|
|
|
Examples are:
|
|
|
|
from 9:00
|
|
from 9am - 11am
|
|
from 9:00:00 to 11:00
|
|
from 9:00 for 2h
|
|
2h after 9am
|
|
2h before 11:00
|
|
2h ago
|
|
for 2h
|
|
|
|
An interval is said to be 'closed' if there is both a start and end, and 'open'
|
|
if there is no end date.
|
|
|
|
.SH HINTS
|
|
Timewarrior supports hints, which are single-word command line features that
|
|
start with a colon like this:
|
|
|
|
:week
|
|
|
|
Hints serve several purposes. This example is a shortcut for the date range
|
|
that defines the current week. Other hints, such as:
|
|
|
|
:quiet
|
|
|
|
Are ways to control the behavior of Timewarrior, in this case eliminating all
|
|
forms of feedback, for purposes of automation. The supported hints are:
|
|
|
|
:quiet Turns off all feedback. For automation
|
|
:debug Runs in debug mode, shows many runtime details
|
|
:yes Overrides confirmation by answering 'yes' to the questions
|
|
|
|
:color Force color on, even if not connected to a TTY
|
|
:nocolor Force color off, even if connected to a TTY
|
|
:blank Leaves tracked time out of a report
|
|
:fill Expand time to fill surrounding available gap
|
|
Only functions when exclusions are provided
|
|
:ids Displays interval ID numbers in the summary report
|
|
|
|
Range hints provide convenient shortcuts to date ranges:
|
|
|
|
:yesterday The 24 hours of the previous day
|
|
:day The 24 hours of the current day
|
|
:week This week
|
|
:month This month
|
|
:quarter This quarter
|
|
:year This year
|
|
:lastweek Last week
|
|
:lastmonth Last month
|
|
|
|
|
|
.SH CONFIGURATION FILE AND OVERRIDE OPTIONS
|
|
Timewarrior stores its configuration in a file in the user's home directory:
|
|
~/.timewarrior/timewarrior.cfg.
|
|
|
|
This file contains a mix of rules and configuration settings.
|
|
|
|
The values 'true', '1', 'y', 'yes' and 'on' are all equivalent and enable a
|
|
setting. Any other value means disable the setting.
|
|
|
|
Default values may be overridden by timewarrior.cfg values, which may in turn be
|
|
overriden on the command line using:
|
|
|
|
rc.<name>=<value>
|
|
|
|
For example, to turn off verbose mode:
|
|
|
|
rc.verbose=0
|
|
|
|
Note that hints can also do this (:quiet).
|
|
|
|
.TP
|
|
.B confirmation = yes
|
|
Determines whether harmful operations require interactive confirmation.
|
|
May be overridden by the ':yes' hint.
|
|
Default value is 'yes'.
|
|
|
|
.TP
|
|
.B debug = off
|
|
Determines whether diagnostic debugging information is shown.
|
|
Useful for troubleshooting, but not for general use.
|
|
Default value is 'off'.
|
|
|
|
.TP
|
|
.B debug.indicator = >>
|
|
The debug output prefix string.
|
|
Default value is '>>'.
|
|
|
|
.TP
|
|
.B reports.<type>.day = yes
|
|
.br
|
|
Determines whether the current day of the month is shown at left margin.
|
|
Default value is 'yes'.
|
|
Type is one of 'month', 'week', 'day'.
|
|
|
|
.TP
|
|
.B reports.<type>.holidays = yes
|
|
.br
|
|
Determines whether relevant holidays are shown beneath the report.
|
|
Default value is 'yes'.
|
|
Type is one of 'month', 'week', 'day', 'summary'.
|
|
|
|
.TP
|
|
.B reports.<type>.hours = all
|
|
.br
|
|
Determines how the <type> report shows all the hours in a day ('all'), or is
|
|
limited to only hours where data is tracked ('auto'). Default value is 'all'.
|
|
Type is one of 'month', 'week', 'day'.
|
|
|
|
.TP
|
|
.B reports.<type>.lines = 1
|
|
.br
|
|
Determines how many lines are used to render each day on the <type> report.
|
|
Default value is '1'.
|
|
Type is one of 'month', 'week', 'day'.
|
|
|
|
.TP
|
|
.B reports.<type>.month = yes
|
|
.br
|
|
Determines whether the current month is shown at left margin.
|
|
Default value is 'yes'.
|
|
Type is one of 'month', 'week', 'day'.
|
|
|
|
.TP
|
|
.B reports.<type>.range = <range hint>
|
|
.br
|
|
For reports that show a range of data, this setting will override the default
|
|
value. The value should be a range hint, see 'hints'
|
|
Type is one of 'gaps', 'day', 'week', 'month'.
|
|
|
|
.TP
|
|
.B reports.<type>.spacing = 1
|
|
.br
|
|
Specifies how many spaces are inserted between the hours in the <type> report
|
|
exclusions. A value of '0' give a move compact report. Default value is '1'.
|
|
Type is one of 'month', 'week', 'day'.
|
|
|
|
.TP
|
|
.B reports.<type>.style = compact
|
|
.br
|
|
The 'compact' style puts the hour markers inside the exclusion blocks.
|
|
Type is one of 'month', 'week', 'day'.
|
|
|
|
.TP
|
|
.B reports.<type>.summary = on
|
|
.br
|
|
Determines whether the hours summary is shown. Default value is 'on'.
|
|
Type is one of 'month', 'week', 'day'.
|
|
|
|
.TP
|
|
.B reports.<type>.totals = on
|
|
.br
|
|
Determines whether the time totals are shown for each day on the report.
|
|
Default value is 'on'.
|
|
Type is one of 'month', 'week', 'day'.
|
|
|
|
.TP
|
|
.B reports.<type>.week = yes
|
|
.br
|
|
Determines whether the current week number is shown at left margin.
|
|
Default value is 'yes'.
|
|
Type is one of 'month', 'week', 'day'.
|
|
|
|
.TP
|
|
.B reports.<type>.weekday = yes
|
|
.br
|
|
Determines whether the current weekday is shown at left margin.
|
|
Default value is 'yes'.
|
|
Type is one of 'month', 'week', 'day'.
|
|
|
|
.TP
|
|
.B verbose = yes
|
|
Determines whether Timewarrior generates feedbac.
|
|
May be overridden by the ':quiet' hint.
|
|
Default value is 'yes'.
|
|
|
|
.SH MORE EXAMPLES
|
|
|
|
For examples please see the online documentation starting at:
|
|
|
|
.RS
|
|
<http://taskwarrior.org/???>
|
|
.RE
|
|
|
|
Note that the online documentation can be more detailed and more current than
|
|
this man page.
|
|
|
|
.SH FILES
|
|
|
|
.TP
|
|
~/.timewarrior/timewarrior.cfg
|
|
User configuration file.
|
|
|
|
.TP
|
|
~/.timewarrior/data/YYYY-MM.data
|
|
Time tracking data files.
|
|
|
|
.SH "CREDITS & COPYRIGHTS"
|
|
Copyright (C) 2015 \- 2016 P. Beckingham, F. Hernandez.
|
|
|
|
Timewarrior is distributed under the MIT license. See
|
|
http://www.opensource.org/licenses/mit-license.php for more information.
|
|
|
|
.SH SEE ALSO
|
|
For more information regarding Timewarrior, see the following:
|
|
|
|
.TP
|
|
The official site at
|
|
<http://taskwarrior.org>
|
|
|
|
.TP
|
|
The official code repository at
|
|
<https://git.tasktools.org/scm/tm/timew.git>
|
|
|
|
.TP
|
|
You can contact the project by emailing
|
|
<support@taskwarrior.org>
|
|
|
|
.SH REPORTING BUGS
|
|
.TP
|
|
Bugs in Timewarrior may be reported to the issue-tracker at
|
|
<https://bug.tasktools.org/>
|
|
|