From ccd2b9fc44bfa4c7f158efc6221f1b30a5b6d50d Mon Sep 17 00:00:00 2001 From: Paul Beckingham Date: Fri, 6 Jun 2008 01:38:37 -0400 Subject: [PATCH] - Added Cygwin to the platform list. - Added missing items to the TUTORIAL file. - Converted TUTORIAL to HTML, in task.html. --- ChangeLog | 4 +- NEWS | 3 +- TUTORIAL | 29 +- task.html | 1231 +++++++++++++++++++++++++++++------------------------ 4 files changed, 707 insertions(+), 560 deletions(-) diff --git a/ChangeLog b/ChangeLog index 660ce4915..e30053d51 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,8 +2,8 @@ Version numbers are of the form: 1.2.3 -where the the 1 represents a major version number, or architecture. The 2 represents a feature release, and the 3 represents patch. - +where the 1 represents a major version number, or architecture. The 2 +represents a feature release, and the 3 represents patch. diff --git a/NEWS b/NEWS index 9e8d5576b..770e89b1d 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -Welcome to Task 1.0.0. +Welcome to Task 1.0.1. Task has been built and tested on the following configurations: @@ -8,6 +8,7 @@ Task has been built and tested on the following configurations: - Fedora Core 9 - Ubuntu 8 Hardy Heron - Solaris 10 + - Cygwin 1.5.25-14 While Task has undergone testing, bugs are sure to remain. If you encounter a bug, please contact me at task@beckingham.net. Here is what you could do, in diff --git a/TUTORIAL b/TUTORIAL index 372ecccac..22b9e9019 100644 --- a/TUTORIAL +++ b/TUTORIAL @@ -1,4 +1,4 @@ -Task program tutorial, for version 1.0.0 +Task program tutorial, for version 1.0.1 ---------------------------------------- This guide shows how to quickly set up the task program, and become proficient @@ -21,10 +21,10 @@ Build the task program according to the directions in the INSTALL file. This transcript illustrates a typical installation: % ls - task-1.0.0.tar.gz - % gunzip task-1.0.0.tar.gz - % tar xf task-1.0.0.tar - % cd task-1.0.0 + task-1.0.1.tar.gz + % gunzip task-1.0.1.tar.gz + % tar xf task-1.0.1.tar + % cd task-1.0.1 % ./configure ... % make @@ -554,8 +554,27 @@ Interacting with the Shell background) attributes determines the colors used to represent the task. Valid foreground colors are: + bold underline bold_underline + black bold_black underline_black bold_underline_black + red bold_red underline_red bold_underline_red + green bold_green underline_green bold_underline_green + yellow bold_yellow underline_yellow bold_underline_yellow + blue bold_blue underline_blue bold_underline_blue + magenta bold_magenta underline_magenta bold_underline_magenta + cyan bold_cyan underline_cyan bold_underline_cyan + white bold_white underline_white bold_underline_white + Valid background colors are: + on_black on_bright_black + on_red on_bright_red + on_green on_bright_green + on_yellow on_bright_yellow + on_blue on_bright_blue + on_magenta on_bright_magenta + on_cyan on_bright_cyan + on_white on_bright_white + Note that these are not just colors, but combinations of colors and attributes. diff --git a/task.html b/task.html index 6725244b3..9351df9da 100644 --- a/task.html +++ b/task.html @@ -1,7 +1,7 @@ - Technical Article + Task @@ -143,8 +140,17 @@ a:hover, a:active { color: #fff; background: #000; }
+
+
+
+

Task Home Page

+

+ Here you will find information on how to acquire, build, configure + and use the task program. +

+

- Task Source Code + Get the Source Code

@@ -154,11 +160,19 @@ a:hover, a:active { color: #fff; background: #000; } (6/4/2008).

- Commands +

+ Task has been built and tested on the following configurations: -

command 1
-command 2
-command 3
+
    +
  • OS X 10.4 Tiger +
  • OS X 10.5 Leopard +
  • Fedora Core 8 +
  • Fedora Core 9 +
  • Ubuntu 8 Hardy Heron +
  • Solaris 10 +
  • Cygwin 1.5.25-14 +
+

@@ -167,661 +181,774 @@ command 3

- This guide shows how to quickly set up the task program, and become proficient - with it. + This guide shows how to quickly set up the task program, and become + proficient with it.

- Quick Setup + Quick Setup

-Build the task program according to the directions in the INSTALL file. This -transcript illustrates a typical installation: +

+ Build the task program according to the directions in the INSTALL + file. This transcript illustrates a typical installation: +

- % ls - task-1.0.0.tar.gz - % gunzip task-1.0.0.tar.gz - % tar xf task-1.0.0.tar - % cd task-1.0.0 - % ./configure - ... - % make - ... - % make install # (may require sudo, depending on --prefix) +

% ls
+task-1.0.1.tar.gz
+% gunzip task-1.0.1.tar.gz
+% tar xf task-1.0.1.tar
+% cd task-1.0.1
+% ./configure
+...
+% make
+...
+% make install     # (may require sudo, depending on --prefix)
-You need to make sure that the installed task program is in your PATH -environment variable. +

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

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

+ 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 +
% task version
 
-  A configuration file could not be found in /Users/paul/.taskrc
+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.
+Would you like a sample .taskrc created, so task can proceed? (y/n) y
+Done.
 
-  [then task will show version information]
+[then task will show version information]
-

- Simple Usage + Simple Usage

-Let us begin by adding some tasks: +

+ Let us begin by adding some tasks: +

- % task add Book plane ticket - % task add Rent a tux - % task add Reserve a rental car - % task add Reserve a hotel room +
% 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: +

+ That's it. You'll notice immediately that task has a very + minimalist interface. Let us take a look at those tasks: +

- % task ls +
% 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
-   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
+   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: +

+ 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: +

- % task ls project:Wedding +
% task ls project:Wedding
 
-  ID Project Pri Description          
-   1 Wedding     Book plane ticket
-   2 Wedding     Reserve a rental car
+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: +

+ Any command arguments after the 'ls' are used for filtering the + output. We could also have requested: +

- % task ls ticket plane +
% task ls ticket plane
 
-  ID Project Pri Description       
-   1 Wedding     Book plane ticket
+ID Project Pri Description
+ 1 Wedding     Book plane ticket
-Now let's prioritize. Priorities can be H, M or L (High, Medium, Low). +

+ Now let's prioritize. Priorities can be H, M or L (High, Medium, + Low). +

- % task ls +
% task ls
 
-  ID Project Pri Description               
-   3 Family      Send John a birthday card
-   2 Wedding     Reserve a rental car
-   1 Wedding     Book plane ticket
+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
+% 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
+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. +

+ 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: +

+ 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 +
% task add project:Wedding priority:H Book plane ticket
-The 'ls' command provides the least information for each task. The 'list' -command provides more: +

+ The 'ls' command provides the least information for each task. The + 'list' command provides more: +

- % task list +
% 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
+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: +

+ 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 +
% 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
+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: +

+ 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: +

- color.due=red - color.due=on_blue - color.due=red on_blue - color.due=bold_red on_blue +
color.due=red
+color.due=on_blue
+color.due=red on_blue
+color.due=bold_red on_blue
-Where color is one of the following: +

+ Where color is one of the following: +

- black - blue - red - green - cyan - magenta - yellow - white +
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. +

+ 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: +

+ Tagging tasks is a good way to group them, aside from specifying a + project. To add a tag to a task: +

- % task +tag +
% 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. +

+ 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 +
% 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
+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 1 +phone
+% task 2 +phone
+% task 3 +shopping
+% task 3 +john
 
-  % task list +phone
+% 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
+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: +

+ To remove a tag from a task, use the minus sign: +

- % task 3 -john +
% task 3 -john

- Advanced Usage + Advanced Usage

-Here are the other commands, in some detail. Note that the command: - - % task - -with no arguments 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: - - % task projects - - Project Tasks - Errands 1 - Birthdays 3 - Car 2 - - - -% task summary --------------- - - This report lists all the projects and a summary of their task status. - - % task summary - - Project Remaining Avg age Complete 0% 100% - Errands 1 3 days 50% XXXXXXXXXXXXXXXX - Birthdays 3 7 mths 0% - Car 2 2 wks 25% XXXXXXXXX - - 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 ------------------- - - There are two ways of getting rid of tasks - mark them as done, or delete - them. - - - -% task done ----------------- - - 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 ------------------ - - 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. - - % task calendar - - May 2008 - - Su Mo Tu We Th Fr Sa - 1 2 3 - 4 5 6 7 8 9 10 - 11 12 13 14 15 16 17 - 18 19 20 21 22 23 24 - 25 26 27 28 29 30 31 - - - -% task next ------------ - - 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 ... ---------------- - - 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 /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 ----------------- - - 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 -------------------------- - - 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. +

+ Here are the other commands, in some detail. +

+ + % task +

+ 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: +

+ +
% task projects
+
+Project   Tasks
+Errands       1
+Birthdays     3
+Car           2
+ + + % task summary +

+ This report lists all the projects and a summary of their task + status. +

+ +
% task summary
+
+Project  Remaining Avg age Complete 0%                        100%
+Errands          1  3 days      50% XXXXXXXXXXXXXXXX
+Birthdays        3  7 mths       0%
+Car              2   2 wks      25% XXXXXXXXX
+ +

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

+ +
% task calendar
+
+May 2008
+
+Su Mo Tu We Th Fr Sa
+             1  2  3
+ 4  5  6  7  8  9 10
+11 12 13 14 15 16 17
+18 19 20 21 22 23 24
+25 26 27 28 29 30 31
+ + % task next +

+ 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 /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. +

- Interacting with the Shell + Interacting with the Shell

- 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: +

+ 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 +
% task add Buy bread & milk
- This command is an error because of the &. The shell will consider this to - be two commands: +

+ This command is an error because of the &. The shell will + consider this to be two commands: +

- % task add Buy bread & - % milk +
% 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: +

+ 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 +
% task add Buy bread \& milk
- Another is to quote the entire description, with either ' or " characters: +

+ Another is to quote the entire description, with either ' or " + characters: +

- % task add "Buy bread & milk" +
% 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 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 <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: +

+
         bold          underline          bold_underline
+black    bold_black    underline_black    bold_underline_black
+red      bold_red      underline_red      bold_underline_red
+green    bold_green    underline_green    bold_underline_green
+yellow   bold_yellow   underline_yellow   bold_underline_yellow
+blue     bold_blue     underline_blue     bold_underline_blue
+magenta  bold_magenta  underline_magenta  bold_underline_magenta
+cyan     bold_cyan     underline_cyan     bold_underline_cyan
+white    bold_white    underline_white    bold_underline_white
-% task fg:... bg:... -------------------------- +

+ Note that these are not just colors, but combinations of colors and + attributes. Valid background colors are: +

- 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: +
on_black    on_bright_black
+on_red      on_bright_red
+on_green    on_bright_green
+on_yellow   on_bright_yellow
+on_blue     on_bright_blue
+on_magenta  on_bright_magenta
+on_cyan     on_bright_cyan
+on_white    on_bright_white
- Valid background colors are: - - Note that these are not just colors, but combinations of colors and - attributes. - - Note also that this capability does depend on whether your terminal program - can display these colors. +

+ Note also that this capability does depend on whether your terminal + program can display these colors. +

- - -

- Configuring Task + Configuring Task

- Task recognizes several entries in the .taskrc file for configuration - purposes. Valid entries are of the form: +

+ Task recognizes several entries in the .taskrc file for + configuration purposes. Valid entries are of the form: +

- name=value +
name=value
- Valid examples are: +

+ 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 +
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. +
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. +
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: +
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". + 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. +
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. +
curses
+
+ Determines whether task uses ncurses to establish the size of + the window you are using, for text wrapping. +
- color May be "on" or "off". Determines whether task uses - color. +
color
+
+ May be "on" or "off". Determines whether task uses color. +
- color.overdue These are the coloration rules. They correspond to a - color.due particular attribute of a task, such as it being due, or - color.pri.H being active, and specifies the automatic coloring of - color.pri.M that task. - color.pri.L - color.pri.none The value may be one optional foreground color (see - color.active below) and one optional background color. - color.tagged - For example, the value may be: +
+ color.overdue
+ color.due
+ color.pri.H
+ color.pri.M
+ color.pri.L
+ color.pri.none
+ color.active
+ color.tagged +
+
+ 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 +
- bold_red on_bright_yellow +
color.tag.X
+
+ Colors any task that has the tag X. +
- color.tag.X Colors any task that has the tag X. +
color.project.X
+
+ Colors any task assigned to project X. +
- color.project.X Colors any task assigned to project X. +
color.keyword.X
+
+ Colors any task where the description contains X. +
- color.keyword.X Colors any task where the description contains X.
-

- Colors + Colors

- 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 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: +

- bold underline bold_underline - black bold_black underline_black bold_underline_black - red bold_red underline_red bold_underline_red - green bold_green underline_green bold_underline_green - yellow bold_yellow underline_yellow bold_underline_yellow - blue bold_blue underline_blue bold_underline_blue - magenta bold_magenta underline_magenta bold_underline_magenta - cyan bold_cyan underline_cyan bold_underline_cyan - white bold_white underline_white bold_underline_white +
         bold          underline          bold_underline
+black    bold_black    underline_black    bold_underline_black
+red      bold_red      underline_red      bold_underline_red
+green    bold_green    underline_green    bold_underline_green
+yellow   bold_yellow   underline_yellow   bold_underline_yellow
+blue     bold_blue     underline_blue     bold_underline_blue
+magenta  bold_magenta  underline_magenta  bold_underline_magenta
+cyan     bold_cyan     underline_cyan     bold_underline_cyan
+white    bold_white    underline_white    bold_underline_white
- and the following are valid background colors: +

+ and the following are valid background colors: +

- on_black on_bright_black - on_red on_bright_red - on_green on_bright_green - on_yellow on_bright_yellow - on_blue on_bright_blue - on_magenta on_bright_magenta - on_cyan on_bright_cyan - on_white on_bright_white +
on_black    on_bright_black
+on_red      on_bright_red
+on_green    on_bright_green
+on_yellow   on_bright_yellow
+on_blue     on_bright_blue
+on_magenta  on_bright_magenta
+on_cyan     on_bright_cyan
+on_white    on_bright_white
+
+ +
+
+
+

+ Copyright 2006-2008, Paul Beckingham. All rights reserved. +