bionic (1) timew.1.gz

Provided by: timewarrior_1.0.0+ds.1-3_amd64 bug

NAME

       timew - A command line time tracker.

SYNOPSIS

       timew <command> [<arg> ...]

DESCRIPTION

       Timewarrior  is a command line time tracker. It allows you to easily track your time and generate summary
       reports.

       This is a reference, not a tutorial. If you are looking for a tutorial, check  the  online  documentation
       here:

         https://taskwarrior.org/docs/timewarrior

SUBCOMMANDS

       Timewarrior supports many commands. Alphabetically:

       timew
              When  run  without  arguments,  the  default  command is run, which indicates whether there is any
              active tracking, and if so, shows a summary, then exits with a code 0. If there is no active  time
              tracking, exit code is 1.  See also 'get'.

       timew cancel
              If there is an open interval, it is abandoned.  See also 'stop'.

       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, which means you intend to answer 'yes' to the confirmation
              questions:

                $ timew config verbose '' :yes

              If no arguments are provided, all configuration settings are shown:

                $ timew config
                verbose = yes
                ...

              See also 'hints', 'show'.

       timew continue
              Resumes tracking the most recently closed interval. For example:

                $ timew track 9am - 10am tag1 tag2
                $ timew continue

              The 'continue' command creates a new interval, starting now, and using the tags 'tag1' and 'tag2'.
              This command is a convenient way to resume work without re-entering the tags.

              See also 'start', 'stop'.

       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.

              Charts accept 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.  This  can  be
              used to see the exclusions.

              For more details, and precise times, use the 'summary' report.

              See also 'week', 'month', 'summary'.

       timew delete @<id> [@<id> ...]
              Deletes  an  interval.  Using the 'summary' command, and specifying the ':ids' hint shows interval
              IDs. Using the right ID, you can identify an interval to delete.  For example, show the IDs:

                $ timew summary :week :ids

              Then having selected '@2' as the interval you wish to delete:

                $ timew delete @2

              See also 'cancel'.

       timew diagnostics
              This command shows details about your version of Timewarrior, your 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'.

       timew export [<interval>] [<tag> ...]
              Exports all the tracked time in JSON format. Supports filtering. For example:

                $ timew export from 2016-01-01 for 3wks tag1

       timew extensions
              Displays  the  directory  containing the extension programs and a table showing each extention and
              its status. See also 'diagnostics'.

       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'.

              The ':blank' hint causes only the excluded time to be shown, with no tracked time.

              See also 'summary'.

       timew get <DOM> [<DOM> ...]
              Validates the DOM reference, then obtains the value and displays it. For example:

                $ timew get dom.active
                1

              It is an error to reference an interval or tag that does not exist.  See also 'DOM'.

       timew help [<command> | interval | hints | date | duration]
              The help command shows detailed descriptions and examples of commands, interval syntax,  supported
              hints, date and duration formats and DOM references.  For example:

                $ timew help
                $ timew help start
                $ timew help hints
                $ timew help interval
                $ timew help date
                $ timew help duration
                $ timew help dom

       timew join @<id> @<id>
              Joins  two  intervals,  by  using the earlier of the two start times, and the later of the two end
              times, and the combined set of tags. Using the 'summary' command, and specifying the  ':ids'  hint
              shows  interval  IDs.  Using  the correct IDs, you can identify an intervals to join. For example,
              show the IDs:

                $ timew summary :week :ids

              Then having selected '@1' and '@2' as the intervals you wish to join:

                $ timew join @1 @2

              See also 'split', 'lengthen', 'shorten'.

       timew lengthen @<id> [@<id> ...] <duration>
              The 'lengthen' command is used to defer 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 lengthen. For example, show the IDs:

                $ timew summary :week :ids

              Then having selected '@2' as the interval you wish to lengthen:

                $ timew lengthen @2 10mins

              Note that you can lengthen multiple intervals,:

                $ timew lengthen @2 @10 @23 1hour

              See also 'summary', 'tag', 'untag', 'shorten'.

       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'.

       timew move @<id> <date>
              The 'move' command is used to reposition an interval at a new start  time.   Using  the  'summary'
              command,  and specifying the ':ids' hint shows interval IDs.  Using the right ID, you can identify
              an interval to move. For example, show the IDs:

                $ timew summary :week :ids

              Then having selected '@2' as the interval you wish to move:

                $ timew move @2 9am

              See also 'summary', 'tag', 'untag', 'lengthen', 'shorten'.

       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.

       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', 'lengthen'.

       timew show
              Displays the effective configuration in hierarchical form.  See also 'config'.

       timew split @<id> [@<id> ...]
              Ѕplits  an  interval  into  two  equally sized adjacent intervals, having the same tags. Using the
              'summary' command, and specifying the ':ids' hint shows interval
               IDs. Using the right ID, you can identify an interval to split. For example, show the IDs:

                $ timew summary :week :ids

              Then having selected '@2' as the interval you wish to split:

                $ timew split @2

              See also 'join', 'lengthen', 'shorten'.

       timew start [<date>] [<tag> ...]
              Begins tracking using the current time with any specified set of tags.  If a tag contains multiple
              words,  therefore  containing  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'

              If there is a previous open interval, it will be closed at the given start time.

              Quotes are harmless if used unnecessarily. See also 'continue', 'stop', 'track'.

       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'.

       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 'ID' column to the summary report output for interval modification.

              See also 'day', 'week', 'month', 'shorten', 'lengthen', 'tag', 'untag'.

       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', 'shorten', 'lengthen', 'untag'.

       timew tags
              Displays all the tags that have been used.

       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.

       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', 'shorten', 'lengthen', 'tag'.

       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'.

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.

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
         :adjust        Automatically correct overlaps
         :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
         :lastquarter   Last quarter
         :lastyear      Last year

DATES

       Timewarrior supports the following date formats based on ISO-8601:

         <extended-date> [T <extended-time>]   Extended date, optional extended time
         <date> [T <time>]                     Date, optional time
         <extended-time>                       Extended time
         <time>                                Time

         extended-date:
           YYYY-MM-DD                          Year, month, day
           YYYY-MM                             Year, month, 1st
           YYYY-DDD                            Year, Julian day 001-366
           YYYY-WwwD                           Year, week number, day number
           YYYY-Www                            Year, week number, day 1

         extended-time:
           hh:mm[:ss]Z                         Hours, minutes, optional seconds, UTC
           hh:mm[:ss][+/-hh:mm]                Hours, minutes, optional seconds, TZ

         date:
           YYYYMMDD                            Year, month, day
           YYYYWww                             Year, week number, day number
           YYYYDDD                             Year, Julian day 001-366

         time:
           hhmm[ss]Z                           Hour, minutes, optional seconds, UTC
           hhmm[ss][+/-hh[mm]]                 Hour, minutes, optional seconds, TZ

       Examples:
         2016-06-09T08:12:00Z
         2016-06T08:12:00+01:00
         2016-06T08:12Z
         2016-161
         2016-W244
         2016-W24
         20160609T081200Z
         2016W24
         8:12:00Z
         0812-0500

       In addition to the standard date formats, the following are supported:

         now                                   Current date and time
         today                                 Current date at 0:00:00
         sod, eod                              Current date at 0:00:00 and 23:59:59
         yesterday                             Yesterday at 0:00:00
         tomorrow                              Tomorrow at 0:00:00 (midnight tonight)
         <day-of-week>                         Previous named day at 0:00:00
         <month-of-year>                       Previous 1st of the  month at 0:00:00
         hh:mm[:ss][am|a|pm|p]                 Short time format
         Nst, Nnd, Nrd, Nth                    Previous 1st, 2nd, 3rd ...
         <epoch>                               POSIX time
         later                                 2038-01-18T0:00:00 (Y2K38)
         someday                               2038-01-18T0:00:00 (Y2K38)
         soy, eoy                              Previous start/end of year
         socy, eocy                            Start/end of current year
         soq, eoq                              Previous start/end of quarter
         socq, eocq                            Start/end of current quarter
         som, eom                              Previous start/end of month
         socm, eocm                            Start/end of current month
         sow, eow                              Previous start/end of week
         socw, eocw                            Start/end of current week
         soww, eoww                            Start/end of current work week (mon - fri)
         easter                                Easter Sunday
         eastermonday                          Easter Monday
         ascension                             Ascension
         pentecost                             Pentecost
         goodfriday                            Good Friday
         midsommar                             midnight, 1st Saturday after 20th June
         midsommarafton                        midnight, 1st Friday after 19th June
         juhannus                              midnight, 1st Friday after 19th June

       Examples:
         8am
         24th
         monday
         august

       See also 'duration', 'hints'.

DURATIONS

       Timewarrior supports the following duration formats based on ISO-8601:

         'P' [nn 'Y'] [nn 'M'] [nn 'D'] ['T' [nn 'H'] [nn 'M'] [nn 'S']]
         PnnW

       Examples:
         P1Y           1 year
         P1.5M         1.5 months
         PT1S          1 second
         PT4.5H        4.5 hours
         PT4H30M       4.5 hours
         P600D         600 days
         P3W           3 weeks
         P1Y1DT1H1M1S  1 year and 25 hours, 61 seconds (imprecise term)

         Note that the year and month terms are imprecise, being defined as 365d and
         30d respectively. For precision use the other terms.

       In addition to the standard duration formats, the following are supported:

         n[.n]<unit>

       Where the <unit> is one of:

         annual
         biannual
         bimonthly
         biweekly
         biyearly
         daily
         days, day, d
         fortnight
         hours, hour, hrs, hr, h
         minutes, minute, mins, min
         monthly, months, month, mnths, mths, mth, mos, mo, m
         quarterly, quarters, quarter, qrtrs, qtr, q
         semiannual
         sennight
         seconds, second, secs, sec, s
         weekdays
         weekly, weeks, week, wks, wk, w
         yearly, years, year, yrs, yr, y

       Examples:
         1hour         60 minutes
         1.5h          90 minutes
         3mo           3 months
         10d           10 days

         Note that the year, quarter and month terms are imprecise, being defined as
         365d, 91d and 30d respectively. For precision use the other terms.

DOM

       Supported DOM references are:

         dom.tag.count             Count of all tags
         dom.tag.1                 Nth tag used

         dom.active                '1' if there is active tracking, otherwise '0'
         dom.active.tag.count      Count of active tags
         dom.active.tag.1          Active Nth tag
         dom.active.start          Active start timestamp (ISO Extended local date)
         dom.active.duration       Active elapsed (ISO Period)
         dom.active.json           Active interval as JSON

         dom.tracked.count         Count of tracked intervals
         dom.tracked.1.tag.count   Count of active tags
         dom.tracked.1.tag.1       Tracked Nth, Nth tag
         dom.tracked.1.start       Tracked Nth, start time
         dom.tracked.1.end         Tracked Nth, end time, blank if closed
         dom.tracked.1.duration    Tracked Nth, elapsed
         dom.tracked.1.json        Tracked Nth, interval as JSON

         dom.rc.<name>             Configuration setting

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 overridden 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).

       confirmation = yes
              Determines whether harmful operations require interactive confirmation.  May be overridden by  the
              ':yes' hint.  Default value is 'yes'.

       debug = off
              Determines whether diagnostic debugging information is shown.  Useful for troubleshooting, but not
              for general use.  Default value is 'off'.

       debug.indicator = >>
              The debug output prefix string.  Default value is '>>'.

       reports.<type>.cell = 15
              Determines how many minutes are represented by a single character cell, for the charts.   A  value
              of '15' means that an hour is represented by 60/15, or 4 character cells.  Suitable values are the
              divisors of 60 (30, 20, 15, 12, ...).  Default value is '15'.  Type is  one  of  'month',  'week',
              'day'.

       reports.<type>.day = yes
              Determines  whether the current day of the month is shown at left margin.  Default value is 'yes'.
              Type is one of 'month', 'week', 'day'.

       reports.<type>.holidays = yes
              Determines whether relevant holidays are shown beneath the report.  Default value is 'yes'.   Type
              is one of 'month', 'week', 'day', 'summary'.

       reports.<type>.hours = all
              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'.

       reports.<type>.lines = 1
              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'.

       reports.<type>.month = yes
              Determines  whether  the  current month is shown at left margin.  Default value is 'yes'.  Type is
              one of 'month', 'week', 'day'.

       reports.<type>.range = <range hint>
              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'.

       reports.<type>.spacing = 1
              Specifies  how many spaces are inserted between the hours in the <type> report exclusions. A value
              of '0' yields a more compact report. Default value is '1'.  Type is one of 'month', 'week', 'day'.

       reports.<type>.axis = internal
              The value 'internal' puts the hour markers inside the exclusion blocks.  Default is <no value>.

       reports.<type>.summary = on
              Determines whether the hours summary is shown. Default value is 'on'.  Type  is  one  of  'month',
              'week', 'day'.

       reports.<type>.totals = on
              Determines  whether  the time totals are shown for each day on the report.  Default value is 'on'.
              Type is one of 'month', 'week', 'day'.

       reports.<type>.week = yes
              Determines whether the current week number is shown at left margin.  Default value is 'yes'.  Type
              is one of 'month', 'week', 'day'.

       reports.<type>.weekday = yes
              Determines  whether the current weekday is shown at left margin.  Default value is 'yes'.  Type is
              one of 'month', 'week', 'day'.

       verbose = yes
              Determines whether Timewarrior generates feedback.   May  be  overridden  by  the  ':quiet'  hint.
              Default value is 'yes'.

MORE EXAMPLES

       For examples please see the online documentation starting at:

              <http://taskwarrior.org/???>

       Note that the online documentation can be more detailed and more current than this man page.

FILES

       ~/.timewarrior/timewarrior.cfg
              User configuration file.

       ~/.timewarrior/data/YYYY-MM.data
              Time tracking data files.

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.

SEE ALSO

       For more information regarding Timewarrior, see the following:

       The official site at
              <http://taskwarrior.org>

       The official code repository at
              <https://git.tasktools.org/scm/tm/timew.git>

       You can contact the project by emailing
              <support@taskwarrior.org>

REPORTING BUGS

       Bugs in Timewarrior may be reported to the issue-tracker at
              <https://bug.tasktools.org/>