timewarrior/doc/man/timew.1.in

452 lines
12 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>
.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.
.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'.
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 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'.
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 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
See also 'day', 'week', 'month'.
.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 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'.
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
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
.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>.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>.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>.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>.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>.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>.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
.BR timewrc(5)
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/>