+ With no arguments, this command will generate a help message that
+ lists all these commands.
+
+
+ % task projects
+
+ This report generates a list of all the different projects that you
+ are using along with a count of the pending tasks for each project.
+ For example:
+
+ This shows the project, the remaining tasks, the average age of each
+ task, the percentage completed (remaining vs total) and a bar
+ indicating that percentage.
+
+
+ % task delete <id>
+
+ There are two ways of getting rid of tasks - mark them as done, or
+ delete them.
+
+
+ % task undelete <id>
+
+ If a task was inadvertently deleted, it may be undeleted, provided that no
+ reports have been run since the deletion. Ideally, the undelete command is
+ run immediately after the erroneous delete command.
+
+
+
+ If a report is run (such as "task list"), then task performs a garbage
+ collection that removes deleted tasks, and the task cannot be undeleted.
+
+
+ % task done <id>
+
+ This is how a task is marked as done.
+
+
+ % task list ...
+
+ The list report will show the active status, and age of the task in
+ addition to the columns that "task ls" shows. It is just a more
+ detailed list.
+
+
+ % task long ...
+
+ The long report will show the entry date and start date of a task,
+ in addition to the columns that the "task list" shows.
+
+
+ % task start <id>
+
+ This marks a task as started (and therefore active), which is shown
+ in the "list" report:
+
+
+
% task list
+
+ID Project Pri Due Active Age Description
+12 Errand L Remember to deposit check
+...
+
+% task start 12
+% task list
+
+ID Project Pri Due Active Age Description
+12 Errand L * 3 days Remember to deposit check
+...
+
+ % task active
+
+ Shows all active tasks, that is, the tasks for which the
+ "task start ..." command was run, as shown above.
+
+
+ % task overdue
+
+ Simply lists all the task that have a due date that is past, in
+ "list" format.
+
+
+ % task history
+
+ This report shows you an overview of how many tasks were added,
+ completed and deleted, by month. It looks like this:
+
+
+
% task history
+
+Year Month Added Completed Deleted Net
+2008 March 21 16 0 5
+ April 13 11 1 1
+ May 8 14 3 -9
+
+
+ This shows that for the three months that task has been used, March
+ and April saw the total number of tasks increase, but in May the
+ number decreased as more task were completed than added.
+
+
+ % task calendar
+
+ This report shows a calendar of the current month, with any task
+ due or overdue dates marked on it. Color is used to mark these
+ dates.
+
+ This report shows you the tasks you should probable work on next.
+ Task will scan all the tasks and will pick two task from each
+ project to report. Those two tasks will be chosen in order of
+ overdue, due soon, High, Medium or Low priority. Essentially task
+ chooses the two most important task for each project and displays
+ them ordered in the usual way.
+
+
+
+ If you wish to show a different number of tasks per project, modify
+ the entry in .taskrc:
+
+
+
next=2
+
+
+ To be your preferred number.
+
+
+ % task <id> ...
+
+ When a task id is specified, everything applies to just that task.
+ Suppose we needed to correct a task:
+
+
+
% task ls
+
+ID Project Pri Description
+12 Errand L Remember to deposit chekc
+...
+
+% task 12 Remember to deposit bonus check
+% task ls
+
+ID Project Pri Description
+12 Errand L Remember to deposit bonus check
+...
+
+ % task oldest
+
+ Lists the oldest tasks. Shows 10 tasks by default, but can be
+ set via the "oldest" configuration variable.
+
+
+ % task newest
+
+ Lists the newest tasks. Shows 10 tasks by default, but can be
+ set via the "newest" configuration variable.
+
+
+ % task /from/to/
+
+ If a task has been entered with a typo, it can be easily corrected
+ by this command. For example:
+
+
+
% task ls
+
+ID Project Pri Description
+12 Errand L Remember to deposit chekc
+...
+
+% task 12 /chekc/check/
+% task ls
+
+ID Project Pri Description
+12 Errand L Remember to deposit check
+...
+
+
+ This command makes single corrections to a task description.
+
+
+ % task tags
+
+ This command will generate a list of all the tags that are currently
+ in use by task.
+
+
+ % task info <id>
+
+ This command gives detailed information about a single task. It
+ will tell you when the task was entered, when started, its status,
+ tags, and more.
+
+
+ % task stats
+
+ This command generates a list of statistics about your task usage,
+ such as the average time it takes to complete a task, how often new
+ tasks are added, and more.
+
+
+ % task completed
+
+ This generates a list of all tasks that have been completed, sorted
+ by their completion date.
+
+
+ % task export <file name>
+
+ This instructs task to write out a CSV format dump of all tasks,
+ both pending and completed, to the file specified. This is how you
+ might view tasks in a spreadsheet.
+
+
+ % task colors
+
+ This command displays all the colors that task supports.
+
+
+ % task usage
+
+ If logging has been enabled by the "command.logging=on" directive
+ in the .taskrc file, then task will record every command that is
+ run. When this command is run, task will display a count of how
+ many times each command was used.
+
+
+
+ This command is for the purpose of seeing whether command are
+ actually used.
+
+
+ % task version
+
+ This can be used to show the version number of task, and to display
+ all the current configuration settings, as read from the .taskrc
+ file.
+
+
+ % task rc:<file> ...
+
+ By specifying rc:, it is possible to force task to use an alternate
+ .taskrc file. By default, task looks in your home directory, so these two
+ commands are essentially identical:
+
+
+
% task list
+% task rc:~/.taskrc list
+
+
+ What this override allows, is the possibility of keeping your task lists
+ completely separate, say for work and home. This can be accomplished with
+ the following commands (valid for bash):
+
+
+
% alias htask="task rc:/home/me/.taskrc_home"
+% alias wtask="task rc:/home/me/.taskrc_work"
+% htask list
+...
+% wtask list
+...
+
+ % task <id> fg:... bg:...
+
+ Not strictly a command, the setting of the fg and bg (foreground
+ and background) attributes determines the colors used to represent
+ the task. Valid foreground colors are:
+
+ Task supports color in several places. In cases where you may
+ specify a color, a foreground, a background, or a combination
+ foreground and background color may be used. The following are
+ valid foreground colors:
+
+ Task recognizes several entries in the .taskrc file for
+ configuration purposes. Valid entries are of the form:
+
+
+
name=value
+
+
+ Valid examples are:
+
+
+
data.location
+
+ This is a path to the directory containing all the task files.
+ By default, it is set up to be ~/.task, for example:
+ /Users/paul/.task
+
+
+
command.logging
+
+ May be "on" or "off", defaulting to "off". This determines
+ whether task records commands. This is not generally useful,
+ except while developing task.
+
+
+
confirmation
+
+ May be "yes" or "no", and determines whether task will ask for
+ confirmation before deleting a task.
+
+
+
nag
+
+ This may be a string of text, or blank. It is used as a prompt
+ when a task is completed that is not considered high priority.
+ The "task next" command lists important tasks, and completing
+ one of those does not generate this nagging. Default value is:
+
+ Note: try to stick to high priority tasks. See "task next".
+
+
+
next
+
+ Is a number, defaulting to 2, which is the number of tasks for
+ each project that are shown in the "task next" command.
+
+
+
curses
+
+ Determines whether task uses ncurses to establish the size of
+ the window you are using, for text wrapping.
+
+
+
blanklines
+
+ May be "on" or "off". Prevents the display of unnecessary blank
+ lines so that task makes better use screen real estate on small-
+ screened devices.
+
+
+
dateformat
+
+
+ This is a string of characters that define how task formats dates.
+ The default value is:
+
+
+
m/d/Y
+
+
+ which means dates look like:
+
+
+
6/7/2008
+
+
+ The string should contain the characters:
+
+
+
+
Character
+
Meaning
+
Example
+
+
+
m
+
minimal-digit month
+
1, 12
+
+
+
d
+
minimal-digit day
+
1, 30
+
+
+
y
+
two-digit year
+
08
+
+
+
M
+
two-digit month
+
01, 12
+
+
+
D
+
two-digit day
+
01, 30
+
+
+
Y
+
four-digit year
+
2008
+
+
+
+
+
+ The string may also contain other characters to act as spacers,
+ or formatting. Other values could include (but are not limited to):
+
+
+
+
+
+
dateformat
+
How it looks
+
+
+
d/m/Y
+
7/6/2008
+
+
+
YMD
+
20080607
+
+
+
m-d-y
+
6-7-08
+
+
+
+
+
+
showage
+
+ May be "yes" or "no". Determines whether the "Age"
+ column appears on the "list" and "next" reports.
+
+
+
monthsperline
+
+ Determines how many months the "task calendar" command
+ renders across the screen. Defaults to 1.
+
+
+
oldest
+
+ Determines how many tasks the "task oldest" command displays.
+ Defaults to 10.
+
+
+
newest
+
+ Determines how many tasks the "task newest" command displays.
+ Defaults to 10.
+
+
+
defaultwidth
+
+ The width of tables used when ncurses support is not available.
+ Defaults to 80.
+
+
+
color
+
+ May be "on" or "off". Determines whether task uses color.
+
+ These are the coloration rules. They correspond to a particular
+ attribute of a task, such as it being due, or being active, and
+ specifies the automatic coloring of that task. The value may
+ be one optional foreground color (see below) and one optional
+ background color. For example, the value may be:
+
+ bold_red on_bright_yellow
+
+
+
color.tag.X
+
+ Colors any task that has the tag X.
+
+
+
color.project.X
+
+ Colors any task assigned to project X.
+
+
+
color.keyword.X
+
+ Colors any task where the description contains X.
+
+
+
+
+
+
+
+ Copyright 2006-2008, P. Beckingham. All rights reserved.
+
+ Build the task program according to the directions in the INSTALL
+ file. This transcript illustrates a typical installation:
+
+
+
% ls
+task-1.3.0.tar.gz
+% gunzip task-1.3.0.tar.gz
+% tar xf task-1.3.0.tar
+% cd task-1.3.0
+% ./configure
+...
+% make
+...
+% make install # (may require sudo, depending on --prefix)
+
+
+ (For those of you using Cygwin,
+ you need to make sure you have the "gcc" and "make" packages
+ available, which are found in the "devel" category. For more
+ task features, also make sure you have "libncurses-devel" and
+ "lincurse8".)
+
+
+
+ You need to make sure that the installed task program is in your
+ PATH environment variable.
+
+
+
+ Task reads a configuration file - called .taskrc in your home
+ directory - and stores pending and completed tasks in in a directory
+ specified in the configuration file.
+
+
+
+ The simplest way to get a configuration file and task directory is
+ to run task. On startup, task will check to see if it can find the
+ configuration file and task directory, and if not found, will ask
+ you whether it may create both.
+
+
+
% task version
+
+A configuration file could not be found in /Users/paul/.taskrc
+
+Would you like a sample .taskrc created, so task can proceed? (y/n) y
+Done.
+
+[then task will show version information]
+
+
+
+
+
+
+ Copyright 2006-2008, P. Beckingham. All rights reserved.
+
+ Certain characters are interpreted by the shell. For example, the
+ "&". If you wish to include the & in a task description,
+ you need to escape it, so the shell doesn't interpret it. For
+ example:
+
+
+
% task add Buy bread & milk
+
+
+ This command is an error because of the &. The shell will
+ consider this to be two commands:
+
+
+
% task add Buy bread &
+% milk
+
+
+ The shell treats the & character as an indicator that the
+ command is complete and should be run in the background. Then the
+ shell considers "milk" to be a command all by itself. Which it is
+ not. One way to get around this is to individually escape the &
+ character:
+
+
+
% task add Buy bread \& milk
+
+
+ Another is to quote the entire description, with either ' or "
+ characters:
+
+
+
% task add "Buy bread & milk"
+
+
+ Task itself interprets the commands, and it too can make mistakes.
+ For example, any colon : character will be interpreted by task as a
+ delimiter between an attribute name and its value. Currently there
+ is no workaround for this.
+
+
+
+
+
+
+
+ Copyright 2006-2008, P. Beckingham. All rights reserved.
+
% task add Book plane ticket
+% task add Rent a tux
+% task add Reserve a rental car
+% task add Reserve a hotel room
+
+
+ That's it. You'll notice immediately that task has a very
+ minimalist interface. Let us take a look at those tasks:
+
+
+
% task ls
+
+ID Project Pri Description
+ 1 Book plane ticket
+ 2 Rent a tux
+ 3 Reserve a rental car
+ 4 Send John a birthday card
+
+
+ The 'ls' command provides the most minimal list of tasks. Each
+ task has been given an id number, and you can see that there are no
+ projects or priorities assigned. Wait a minute - I own a tux, I
+ don't need to rent one. Let us delete task 2:
+
+
+
% task 2 delete
+Permanently delete task? (y/n) y
+
+
+ Task wants you to confirm deletions. To remove the confirmation,
+ edit your .taskrc file and change the line:
+
+
+
confirmation=yes
+
+
+ to have a value of "no".
+
+
+
+ While the use of projects and priorities are not essential to
+ benefitting from task, they can be very useful when the list of
+ tasks grows large. Let's assign a project to these tasks:
+
+
+
% task 1 project:Wedding
+% task 3 project:Wedding
+% task 4 project:Family
+% task ls
+
+ ID Project Pri Description
+ 3 Family Send John a birthday card
+ 2 Wedding Reserve a rental car
+ 1 Wedding Book plane ticket
+
+
+ Notice that the id numbers have changed. When tasks get deleted,
+ or have their attributes changed (project, for example), the ids are
+ prone to change. But the id numbers will remain valid until the
+ next 'ls' command is run. You should only use the ids from the most
+ recent 'ls' command. The ids change, because task is always trying
+ to use small numbers so that it is easy for you to enter them
+ correctly. Now that projects are assigned, we can look at just the
+ Wedding project tasks:
+
+
+
+ Subprojects are supported. If you have a project "Wedding", you can
+ specify that a task is a subproject "Transport" of "Wedding" by
+ assigning the project "Wedding.Transport". Let's do this:
+
+
+
% task 2 project:Wedding.Transport
+% task ls
+
+ID Project Pri Description
+ 3 Family Send John a birthday card
+ 2 Wedding.Transport Reserve a rental car
+ 1 Wedding Book plane ticket
+
+
+ Task matches the leftmost part of the project when searching, so
+ projects may be abbreviated:
+
+
+
% task ls project:Wedding.Tra
+
+ID Project Pri Description
+ 2 Wedding.Transport Reserve a rental car
+
+
+ This way of matching projects can be used to see all tasks under
+ the "Wedding" project and all subprojects:
+
+
+
% task ls project:Wedding
+
+ID Project Pri Description
+ 2 Wedding.Transport Reserve a rental car
+ 1 Wedding Book plane ticket
+
+
+ Let's reassign 2 back to the "Wedding" project:
+
+
+
% task 2 project:Wedding
+
+
+ Now that projects are assigned, we can look at just the
+ Wedding project tasks:
+
+
+
% task ls project:Wedding
+
+ID Project Pri Description
+ 1 Wedding Book plane ticket
+ 2 Wedding Reserve a rental car
+
+
+ Any command arguments after the 'ls' are used for filtering the
+ output. We could also have requested:
+
+
+
% task ls ticket plane
+
+ID Project Pri Description
+ 1 Wedding Book plane ticket
+
+
+ Now let's prioritize. Priorities can be H, M or L (High, Medium,
+ Low).
+
+
+
% task ls
+
+ID Project Pri Description
+ 3 Family Send John a birthday card
+ 2 Wedding Reserve a rental car
+ 1 Wedding Book plane ticket
+
+% task 1 priority:H
+% task 2 prior:M
+% task 3 pr:H
+Ambiguous attribute 'pr' - could be either of project, priority
+% task 3 pri:H
+% task ls
+
+ID Project Pri Description
+ 3 Family H Send John a birthday card
+ 1 Wedding H Book plane ticket
+ 2 Wedding M Reserve a rental car
+
+
+ Notice that task supports the abbreviation of words such as
+ priority, project. Priority can be abbreviated to pri, but not pr,
+ because it is ambiguous. Now that tasks have been prioritized, you
+ can see that the tasks are being sorted by priority, with the
+ highest priority tasks at the top.
+
+
+
+ These attributes can all be provided when the task is added, instead
+ of applying them afterwards, as shown. The following command shows
+ how to set all the attributes at once:
+
+
+
% task add project:Wedding priority:H Book plane ticket
+
+
+ The 'ls' command provides the least information for each task. The
+ 'list' command provides more:
+
+
+
% task list
+
+ID Project Pri Due Active Age Description
+ 3 Family H 4 mins Send John a birthday card
+ 1 Wedding H 5 mins Book plane ticket
+ 2 Wedding M 5 mins Reserve a rental car
+
+
+ Notice that a task can have a due date, and can be active. The
+ task lists are sorted by due date, then priority. Let's add due
+ dates:
+
+
+
% task 3 due:6/25/2008
+% task 1 due:7/31/2008
+% task list
+
+ID Project Pri Due Active Age Description
+ 3 Family H 6/25/2008 6 mins Send John a birthday card
+ 1 Wedding H 7/31/2008 7 mins Book plane ticket
+ 2 Wedding M 7 mins Reserve a rental car
+
+
+ If today's date is 6/23/2008, then task 3 is due in 2 days. It will
+ be colored yellow if your terminal supports color. To change this
+ color, edit your .taskrc file, and change the line to one of these
+ alternatives:
+
black
+blue
+red
+green
+cyan
+magenta
+yellow
+white
+
+
+ All colors are specified in this way. Take a look in .taskrc for
+ all the other color rules that you control.
+
+
+
+ Tagging tasks is a good way to group them, aside from specifying a
+ project. To add a tag to a task:
+
+
+
% task <id> +tag
+
+
+ The plus sign indicates that this is a tag. Any number of tags may
+ be applied to a task, and then used for searching. Tags are just
+ single words that are labels.
+
+
+
% task list
+
+ID Project Pri Due Active Age Description
+ 3 Family H 6/25/2008 8 mins Send John a birthday card
+ 1 Wedding H 7/31/2008 9 mins Book plane ticket
+ 2 Wedding M 9 mins Reserve a rental car
+
+% task 1 +phone
+% task 2 +phone
+% task 3 +shopping
+% task 3 +john
+
+% task list +phone
+
+ID Project Pri Due Active Age Description
+ 1 Wedding H 7/31/2008 9 mins Book plane ticket
+ 2 Wedding M 9 mins Reserve a rental car
+
+
+ To remove a tag from a task, use the minus sign:
+
+
+
% task 3 -john
+
+
+
+
+
+
+ Copyright 2006-2008, P. Beckingham. All rights reserved.
+
- Here you will find information on how to acquire, build, configure
- and use the task program.
+ Here you will find information on how to acquire, build, configure,
+ use and become proficient with the task program.
+
+ Alternatively, watch the
+ task movie
+ which illustrates many of task's features.
+
- Build the task program according to the directions in the INSTALL
- file. This transcript illustrates a typical installation:
-
-
-
% ls
-task-1.3.0.tar.gz
-% gunzip task-1.3.0.tar.gz
-% tar xf task-1.3.0.tar
-% cd task-1.3.0
-% ./configure
-...
-% make
-...
-% make install # (may require sudo, depending on --prefix)
-
-
- (For those of you using Cygwin,
- you need to make sure you have the "g++" and "make" packages
- available, which are found in the "devel" category.)
-
-
-
- You need to make sure that the installed task program is in your
- PATH environment variable.
-
-
-
- Task reads a configuration file - called .taskrc in your home
- directory - and stores pending and completed tasks in in a directory
- specified in the configuration file.
-
-
-
- The simplest way to get a configuration file and task directory is
- to run task. On startup, task will check to see if it can find the
- configuration file and task directory, and if not found, will ask
- you whether it may create both.
-
-
-
% task version
-
-A configuration file could not be found in /Users/paul/.taskrc
-
-Would you like a sample .taskrc created, so task can proceed? (y/n) y
-Done.
-
-[then task will show version information]
% task add Book plane ticket
-% task add Rent a tux
-% task add Reserve a rental car
-% task add Reserve a hotel room
-
-
- That's it. You'll notice immediately that task has a very
- minimalist interface. Let us take a look at those tasks:
-
-
-
% task ls
-
-ID Project Pri Description
- 1 Book plane ticket
- 2 Rent a tux
- 3 Reserve a rental car
- 4 Send John a birthday card
-
-
- The 'ls' command provides the most minimal list of tasks. Each
- task has been given an id number, and you can see that there are no
- projects or priorities assigned. Wait a minute - I own a tux, I
- don't need to rent one. Let us delete task 2:
-
-
-
% task 2 delete
-Permanently delete task? (y/n) y
-
-
- Task wants you to confirm deletions. To remove the confirmation,
- edit your .taskrc file and change the line:
-
-
-
confirmation=yes
-
-
- to have a value of "no".
-
-
-
- While the use of projects and priorities are not essential to
- benefitting from task, they can be very useful when the list of
- tasks grows large. Let's assign a project to these tasks:
-
-
-
% task 1 project:Wedding
-% task 3 project:Wedding
-% task 4 project:Family
-% task ls
-
- ID Project Pri Description
- 3 Family Send John a birthday card
- 2 Wedding Reserve a rental car
- 1 Wedding Book plane ticket
-
-
- Notice that the id numbers have changed. When tasks get deleted,
- or have their attributes changed (project, for example), the ids are
- prone to change. But the id numbers will remain valid until the
- next 'ls' command is run. You should only use the ids from the most
- recent 'ls' command. The ids change, because task is always trying
- to use small numbers so that it is easy for you to enter them
- correctly. Now that projects are assigned, we can look at just the
- Wedding project tasks:
-
-
-
- Subprojects are supported. If you have a project "Wedding", you can
- specify that a task is a subproject "Transport" of "Wedding" by
- assigning the project "Wedding.Transport". Let's do this:
-
-
-
% task 2 project:Wedding.Transport
-% task ls
-
-ID Project Pri Description
- 3 Family Send John a birthday card
- 2 Wedding.Transport Reserve a rental car
- 1 Wedding Book plane ticket
-
-
- Task matches the leftmost part of the project when searching, so
- projects may be abbreviated:
-
-
-
% task ls project:Wedding.Tra
-
-ID Project Pri Description
- 2 Wedding.Transport Reserve a rental car
-
-
- This way of matching projects can be used to see all tasks under
- the "Wedding" project and all subprojects:
-
-
-
% task ls project:Wedding
-
-ID Project Pri Description
- 2 Wedding.Transport Reserve a rental car
- 1 Wedding Book plane ticket
-
-
- Let's reassign 2 back to the "Wedding" project:
-
-
-
% task 2 project:Wedding
-
-
- Now that projects are assigned, we can look at just the
- Wedding project tasks:
-
-
-
% task ls project:Wedding
-
-ID Project Pri Description
- 1 Wedding Book plane ticket
- 2 Wedding Reserve a rental car
-
-
- Any command arguments after the 'ls' are used for filtering the
- output. We could also have requested:
-
-
-
% task ls ticket plane
-
-ID Project Pri Description
- 1 Wedding Book plane ticket
-
-
- Now let's prioritize. Priorities can be H, M or L (High, Medium,
- Low).
-
-
-
% task ls
-
-ID Project Pri Description
- 3 Family Send John a birthday card
- 2 Wedding Reserve a rental car
- 1 Wedding Book plane ticket
-
-% task 1 priority:H
-% task 2 prior:M
-% task 3 pr:H
-Ambiguous attribute 'pr' - could be either of project, priority
-% task 3 pri:H
-% task ls
-
-ID Project Pri Description
- 3 Family H Send John a birthday card
- 1 Wedding H Book plane ticket
- 2 Wedding M Reserve a rental car
-
-
- Notice that task supports the abbreviation of words such as
- priority, project. Priority can be abbreviated to pri, but not pr,
- because it is ambiguous. Now that tasks have been prioritized, you
- can see that the tasks are being sorted by priority, with the
- highest priority tasks at the top.
-
-
-
- These attributes can all be provided when the task is added, instead
- of applying them afterwards, as shown. The following command shows
- how to set all the attributes at once:
-
-
-
% task add project:Wedding priority:H Book plane ticket
-
-
- The 'ls' command provides the least information for each task. The
- 'list' command provides more:
-
-
-
% task list
-
-ID Project Pri Due Active Age Description
- 3 Family H 4 mins Send John a birthday card
- 1 Wedding H 5 mins Book plane ticket
- 2 Wedding M 5 mins Reserve a rental car
-
-
- Notice that a task can have a due date, and can be active. The
- task lists are sorted by due date, then priority. Let's add due
- dates:
-
-
-
% task 3 due:6/25/2008
-% task 1 due:7/31/2008
-% task list
-
-ID Project Pri Due Active Age Description
- 3 Family H 6/25/2008 6 mins Send John a birthday card
- 1 Wedding H 7/31/2008 7 mins Book plane ticket
- 2 Wedding M 7 mins Reserve a rental car
-
-
- If today's date is 6/23/2008, then task 3 is due in 2 days. It will
- be colored yellow if your terminal supports color. To change this
- color, edit your .taskrc file, and change the line to one of these
- alternatives:
-
black
-blue
-red
-green
-cyan
-magenta
-yellow
-white
-
-
- All colors are specified in this way. Take a look in .taskrc for
- all the other color rules that you control.
-
-
-
- Tagging tasks is a good way to group them, aside from specifying a
- project. To add a tag to a task:
-
-
-
% task <id> +tag
-
-
- The plus sign indicates that this is a tag. Any number of tags may
- be applied to a task, and then used for searching. Tags are just
- single words that are labels.
-
-
-
% task list
-
-ID Project Pri Due Active Age Description
- 3 Family H 6/25/2008 8 mins Send John a birthday card
- 1 Wedding H 7/31/2008 9 mins Book plane ticket
- 2 Wedding M 9 mins Reserve a rental car
-
-% task 1 +phone
-% task 2 +phone
-% task 3 +shopping
-% task 3 +john
-
-% task list +phone
-
-ID Project Pri Due Active Age Description
- 1 Wedding H 7/31/2008 9 mins Book plane ticket
- 2 Wedding M 9 mins Reserve a rental car
-
-
- To remove a tag from a task, use the minus sign:
-
- With no arguments, this command will generate a help message that
- lists all these commands.
-
-
- % task projects
-
- This report generates a list of all the different projects that you
- are using along with a count of the pending tasks for each project.
- For example:
-
- This shows the project, the remaining tasks, the average age of each
- task, the percentage completed (remaining vs total) and a bar
- indicating that percentage.
-
-
- % task delete <id>
-
- There are two ways of getting rid of tasks - mark them as done, or
- delete them.
-
-
- % task undelete <id>
-
- If a task was inadvertently deleted, it may be undeleted, provided that no
- reports have been run since the deletion. Ideally, the undelete command is
- run immediately after the erroneous delete command.
-
-
-
- If a report is run (such as "task list"), then task performs a garbage
- collection that removes deleted tasks, and the task cannot be undeleted.
-
-
- % task done <id>
-
- This is how a task is marked as done.
-
-
- % task list ...
-
- The list report will show the active status, and age of the task in
- addition to the columns that "task ls" shows. It is just a more
- detailed list.
-
-
- % task long ...
-
- The long report will show the entry date and start date of a task,
- in addition to the columns that the "task list" shows.
-
-
- % task start <id>
-
- This marks a task as started (and therefore active), which is shown
- in the "list" report:
-
-
-
% task list
-
-ID Project Pri Due Active Age Description
-12 Errand L Remember to deposit check
-...
-
-% task start 12
-% task list
-
-ID Project Pri Due Active Age Description
-12 Errand L * 3 days Remember to deposit check
-...
-
- % task active
-
- Shows all active tasks, that is, the tasks for which the
- "task start ..." command was run, as shown above.
-
-
- % task overdue
-
- Simply lists all the task that have a due date that is past, in
- "list" format.
-
-
- % task history
-
- This report shows you an overview of how many tasks were added,
- completed and deleted, by month. It looks like this:
-
-
-
% task history
-
-Year Month Added Completed Deleted Net
-2008 March 21 16 0 5
- April 13 11 1 1
- May 8 14 3 -9
-
-
- This shows that for the three months that task has been used, March
- and April saw the total number of tasks increase, but in May the
- number decreased as more task were completed than added.
-
-
- % task calendar
-
- This report shows a calendar of the current month, with any task
- due or overdue dates marked on it. Color is used to mark these
- dates.
-
- This report shows you the tasks you should probable work on next.
- Task will scan all the tasks and will pick two task from each
- project to report. Those two tasks will be chosen in order of
- overdue, due soon, High, Medium or Low priority. Essentially task
- chooses the two most important task for each project and displays
- them ordered in the usual way.
-
-
-
- If you wish to show a different number of tasks per project, modify
- the entry in .taskrc:
-
-
-
next=2
-
-
- To be your preferred number.
-
-
- % task <id> ...
-
- When a task id is specified, everything applies to just that task.
- Suppose we needed to correct a task:
-
-
-
% task ls
-
-ID Project Pri Description
-12 Errand L Remember to deposit chekc
-...
-
-% task 12 Remember to deposit bonus check
-% task ls
-
-ID Project Pri Description
-12 Errand L Remember to deposit bonus check
-...
-
- % task oldest
-
- Lists the oldest tasks. Shows 10 tasks by default, but can be
- set via the "oldest" configuration variable.
-
-
- % task newest
-
- Lists the newest tasks. Shows 10 tasks by default, but can be
- set via the "newest" configuration variable.
-
-
- % task /from/to/
-
- If a task has been entered with a typo, it can be easily corrected
- by this command. For example:
-
-
-
% task ls
-
-ID Project Pri Description
-12 Errand L Remember to deposit chekc
-...
-
-% task 12 /chekc/check/
-% task ls
-
-ID Project Pri Description
-12 Errand L Remember to deposit check
-...
-
-
- This command makes single corrections to a task description.
-
-
- % task tags
-
- This command will generate a list of all the tags that are currently
- in use by task.
-
-
- % task info <id>
-
- This command gives detailed information about a single task. It
- will tell you when the task was entered, when started, its status,
- tags, and more.
-
-
- % task stats
-
- This command generates a list of statistics about your task usage,
- such as the average time it takes to complete a task, how often new
- tasks are added, and more.
-
-
- % task completed
-
- This generates a list of all tasks that have been completed, sorted
- by their completion date.
-
-
- % task export <file name>
-
- This instructs task to write out a CSV format dump of all tasks,
- both pending and completed, to the file specified. This is how you
- might view tasks in a spreadsheet.
-
-
- % task colors
-
- This command displays all the colors that task supports.
-
-
- % task usage
-
- If logging has been enabled by the "command.logging=on" directive
- in the .taskrc file, then task will record every command that is
- run. When this command is run, task will display a count of how
- many times each command was used.
-
-
-
- This command is for the purpose of seeing whether command are
- actually used.
-
-
- % task version
-
- This can be used to show the version number of task, and to display
- all the current configuration settings, as read from the .taskrc
- file.
-
-
- % task rc:<file> ...
-
- By specifying rc:, it is possible to force task to use an alternate
- .taskrc file. By default, task looks in your home directory, so these two
- commands are essentially identical:
-
-
-
% task list
-% task rc:~/.taskrc list
-
-
- What this override allows, is the possibility of keeping your task lists
- completely separate, say for work and home. This can be accomplished with
- the following commands (valid for bash):
-
-
-
% alias htask="task rc:/home/me/.taskrc_home"
-% alias wtask="task rc:/home/me/.taskrc_work"
-% htask list
-...
-% wtask list
-...
-
- % task <id> fg:... bg:...
-
- Not strictly a command, the setting of the fg and bg (foreground
- and background) attributes determines the colors used to represent
- the task. Valid foreground colors are:
-
- Certain characters are interpreted by the shell. For example, the
- "&". If you wish to include the & in a task description,
- you need to escape it, so the shell doesn't interpret it. For
- example:
-
-
-
% task add Buy bread & milk
-
-
- This command is an error because of the &. The shell will
- consider this to be two commands:
-
-
-
% task add Buy bread &
-% milk
-
-
- The shell treats the & character as an indicator that the
- command is complete and should be run in the background. Then the
- shell considers "milk" to be a command all by itself. Which it is
- not. One way to get around this is to individually escape the &
- character:
-
-
-
% task add Buy bread \& milk
-
-
- Another is to quote the entire description, with either ' or "
- characters:
-
-
-
% task add "Buy bread & milk"
-
-
- Task itself interprets the commands, and it too can make mistakes.
- For example, any colon : character will be interpreted by task as a
- delimiter between an attribute name and its value. Currently there
- is no workaround for this.
-
- Task recognizes several entries in the .taskrc file for
- configuration purposes. Valid entries are of the form:
-
-
-
name=value
-
-
- Valid examples are:
-
-
-
data.location
-
- This is a path to the directory containing all the task files.
- By default, it is set up to be ~/.task, for example:
- /Users/paul/.task
-
-
-
command.logging
-
- May be "on" or "off", defaulting to "off". This determines
- whether task records commands. This is not generally useful,
- except while developing task.
-
-
-
confirmation
-
- May be "yes" or "no", and determines whether task will ask for
- confirmation before deleting a task.
-
-
-
nag
-
- This may be a string of text, or blank. It is used as a prompt
- when a task is completed that is not considered high priority.
- The "task next" command lists important tasks, and completing
- one of those does not generate this nagging. Default value is:
-
- Note: try to stick to high priority tasks. See "task next".
-
-
-
next
-
- Is a number, defaulting to 2, which is the number of tasks for
- each project that are shown in the "task next" command.
-
-
-
curses
-
- Determines whether task uses ncurses to establish the size of
- the window you are using, for text wrapping.
-
-
-
blanklines
-
- May be "on" or "off". Prevents the display of unnecessary blank
- lines so that task makes better use screen real estate on small-
- screened devices.
-
-
-
dateformat
-
-
- This is a string of characters that define how task formats dates.
- The default value is:
-
-
-
m/d/Y
-
-
- which means dates look like:
-
-
-
6/7/2008
-
-
- The string should contain the characters:
-
-
-
-
Character
-
Meaning
-
Example
-
-
-
m
-
minimal-digit month
-
1, 12
-
-
-
d
-
minimal-digit day
-
1, 30
-
-
-
y
-
two-digit year
-
08
-
-
-
M
-
two-digit month
-
01, 12
-
-
-
D
-
two-digit day
-
01, 30
-
-
-
Y
-
four-digit year
-
2008
-
-
-
-
-
- The string may also contain other characters to act as spacers,
- or formatting. Other values could include (but are not limited to):
-
-
-
-
-
-
dateformat
-
How it looks
-
-
-
d/m/Y
-
7/6/2008
-
-
-
YMD
-
20080607
-
-
-
m-d-y
-
6-7-08
-
-
-
-
-
-
showage
-
- May be "yes" or "no". Determines whether the "Age"
- column appears on the "list" and "next" reports.
-
-
-
monthsperline
-
- Determines how many months the "task calendar" command
- renders across the screen. Defaults to 1.
-
-
-
oldest
-
- Determines how many tasks the "task oldest" command displays.
- Defaults to 10.
-
-
-
newest
-
- Determines how many tasks the "task newest" command displays.
- Defaults to 10.
-
-
-
defaultwidth
-
- The width of tables used when ncurses support is not available.
- Defaults to 80.
-
-
-
color
-
- May be "on" or "off". Determines whether task uses color.
-
- These are the coloration rules. They correspond to a particular
- attribute of a task, such as it being due, or being active, and
- specifies the automatic coloring of that task. The value may
- be one optional foreground color (see below) and one optional
- background color. For example, the value may be:
-
- bold_red on_bright_yellow
-
-
-
color.tag.X
-
- Colors any task that has the tag X.
-
-
-
color.project.X
-
- Colors any task assigned to project X.
-
-
-
color.keyword.X
-
- Colors any task where the description contains X.
-
- Task supports color in several places. In cases where you may
- specify a color, a foreground, a background, or a combination
- foreground and background color may be used. The following are
- valid foreground colors:
-
task add [tags] [attrs] desc...
- task list [tags] [attrs] desc...
- task long [tags] [attrs] desc...
- task ls [tags] [attrs] desc...
- task completed [tags] [attrs] desc...
- task ID [tags] [attrs] [desc...]
- task ID /from/to/
- task delete ID
- task undelete ID
- task info ID
- task start ID
- task done ID
- task projects
- task tags
- task summary
- task history
- task ghistory
- task next
- task calendar
- task active
- task overdue
- task oldest
- task newest
- task stats
- task usage
- task export
- task color
- task version
-
-ID is the numeric identifier displayed by the 'task list' command
-
-Tags are arbitrary words, any quantity:
- +tag The + means add the tag
- -tag The - means remove the tag
-
-Attributes are:
- project: Project name
- priority: Priority
- due: Due date
- fg: Foreground color
- bg: Background color
-
-Any command or attribute name may be abbreviated if still unique:
- task list project:Home
- task li pro:Home
-
-Some task descriptions need to be escaped because of the shell:
- task add "quoted ' quote"
- task add escaped \' quote
-
-Many characters have special meaning to the shell, including:
- $ ! ' " ( ) ; \ ` * ? { } [ ] < > | & % # ~
task add [tags] [attrs] desc...
+ task list [tags] [attrs] desc...
+ task long [tags] [attrs] desc...
+ task ls [tags] [attrs] desc...
+ task completed [tags] [attrs] desc...
+ task ID [tags] [attrs] [desc...]
+ task ID /from/to/
+ task delete ID
+ task undelete ID
+ task info ID
+ task start ID
+ task done ID
+ task projects
+ task tags
+ task summary
+ task history
+ task ghistory
+ task next
+ task calendar
+ task active
+ task overdue
+ task oldest
+ task newest
+ task stats
+ task usage
+ task export
+ task color
+ task version
+
+ID is the numeric identifier displayed by the 'task list' command
+
+Tags are arbitrary words, any quantity:
+ +tag The + means add the tag
+ -tag The - means remove the tag
+
+Attributes are:
+ project: Project name
+ priority: Priority
+ due: Due date
+ fg: Foreground color
+ bg: Background color
+
+Any command or attribute name may be abbreviated if still unique:
+ task list project:Home
+ task li pro:Home
+
+Some task descriptions need to be escaped because of the shell:
+ task add "quoted ' quote"
+ task add escaped \' quote
+
+Many characters have special meaning to the shell, including:
+ $ ! ' " ( ) ; \ ` * ? { } [ ] < > | & % # ~
+
+
+
+
+
+
+ Copyright 2006-2008, P. Beckingham. All rights reserved.
+