-
Notifications
You must be signed in to change notification settings - Fork 716
Todo.sh Add on Directory
List your Todo.sh add-ons here. Include a short description and a link to the GitHub repository or other location.
- Installation
- New/Enhanced Actions
- add – Add with created-on date
- add – Add and do or prioritize in one step
- addsc – Add and schedule for current day
- addu – Add if unique/doesn’t already exist
- archive – Archive only selected done items
- edit – Edit in a designated text editor
- graph – Visualize done tasks – «Don’t break the chain» for todo.txt
- cd – Display directory paths
- chore – Manage your Grocy chores
- due – List tasks by due date
- nav – Open URLs in a web browser
- ac – Open activeCollab URLs in a web browser
- birdseye – Project progress report
- projectview – Group output by project
- paper – Print your todo list
- commit – Record state in local Git repository
- push – Record state in a remote Git repository
- pull – Update local state from remote Git repository
- sync – Sync state between local and remote Git repository
- rtm – Sync with Remember the Milk
- schedule – Work with date threshold
- view – Summarized todo items report
- lately – Report of recently completed tasks
- repeat – Mark an item done and immediately reenter it
- recur – Intelligently add recurring tasks
- ice_recur – Another recurring task action, but with much more flexibility
- google – Sync with Google Tasks
- standup – Daily standup status
- docs – Sync with Google Docs
- mit – Most Important Task tracking
- mitf – Most Important Task tracking
- hey – a minimalist CRM
- tmsa – commands to help working with dated todo files
- revive – re-add items from archive
- again – Complete and re-add tasks, updating due and deferral dates
- top – Shows as many tasks as you can see in your terminal
- xp – print a readable guide of your accomplishments.
- addr – add task with the projects and contexts of the last added task.
- lsgc – prints tasks in columns organized by context
- lsgp – prints tasks in columns organized by project
- pomodori-todo – A pomodoro counter implementation for todo.txt
- outline – Plan with an outline, sync your next actions
- note – Take notes related to tasks
- donow – Activity time tracker
- chcon – Change context
- rmf – Remove from file
- wp – A weekly planner
- all_repri – Make a uniform priority change to all prioritized items
- stale – Move todos back and forth between your todo.txt and a stale.txt
- remind – Create Apple Reminders out of your todos
- book – Create calendar events out of your todos
- tedit – Edit single task lines in the text editor of your choice
- setdue – Set or modify the due-date of one or several already-existing items
- many – make the same change on multiple tasks
- count – handle items with count
- clock – Track time for tasks through GNOME hamster
- random – choose a task randomly
- today – Display tasks tagged for today
- autopri – Autoprioritise tasks based on time till due
- dorecur – Add new tasks as required for recurrence
- gimme – Pick a task at random based on criteria
To learn how to install (and create) add-ons, see Creating and Installing Add-ons.
Since version 2.4, todo.sh provides TODOTXT_SORT_COMMAND
and TODOTXT_FINAL_FILTER
, which can be used to modify the list commands’ output.
Hide tasks containing a date threshold (t:YYYY-MM-DD
) until the specified point in the future.
Note: The date
command can be used to append date thresholds (e.g. todo.sh append <#> "t:`date -d '1 day' +%F`"
).
The schedule extension provides a wrapper for this.
The -x
option can be used to temporarily disable filtering and also display future tasks.
Hide tasks in given context/project (containing specified keywords).
Examples:
todo.sh hiding @someday # to list tasks not in the @someday context
todo.sh hiding +todo.txt @in # to list tasks not in the @in context and not in the +todo.txt project
todo.sh hiding JAVA windows # to list tasks not containing `JAVA` and `windows` keywords
To install just clone the repo to your plugins directory.
Variations:
- hide – Use grep to avoid Python dependency.
Replaces the existing todo.txt CLI action with one that prepends the task with the date it was created on, consistent with the todo.txt standard.
Usage:
todo.sh add This is a test task in +Project to be completed @home
Results in the line
YYYY-MM-DD This is a test task in +Project to be completed @home
where `YYYY-MM-DD` is today’s date, being added to the `todo.txt` file.
This is the example detailed here: Creating Add-ons: Examples
It allows to add an item and mark it as done in one shot with the following syntax:
todo.sh add x Helping colleague to install linuxIt also allows to set a priority when adding an item using the following syntax:
todo.sh add pri A “Need to write plugin example on Gina’s wiki”Variations:
- add and do Gina’s addx
- add and pri Gina’s adda
This will add a task and schedule a task for today.
Requires the schedule add-on to schedule the date.
todo.sh addsc "Task to be added"
This will add a task only if it doesn’t already exist.
todo.sh addu "this is a task"
This allows to archive selectively one single item or a set of items matching a given keyword.
For example to archive all done items related to project1:
To archive item #17:
todo.sh archive 17Note that if the keyword is a number it is interpreted as an item number
To open $TODO_DIR/todo.txt
in your default text editor ($EDITOR
environment variable):
To open $TODO_DIR/done.txt
:
Adaptations:
Graph displays bar charts showing the number of completed tasks per day.
As in Jerry Seinfeld’s don’t break the chain technique, active days will be colored green and therefore motivate you do be more productive.
Clone into todo.action.d
directory:
git clone https://github.com/timpulver/todo.txt-graph.git graph
Outputs the command necessary to change the current directory to the directory holding the todotxt files, the directory holding add-ons or the directory holding the configuiration file.
Lets you list, synchronize, complete, and reschedule your chores (recurring tasks) from Grocy the ERP beyond your fridge.
Lists tasks by due date; by default tasks that are overdue or due today. Optionally add an argument to display tasks due in the next n days. Assumes tasks are added with the key due:YYYY-MM-DD.
To install, clone into .todo.actions.d directory:
git clone https://github.com/rebeccamorgan/due.git
TODO: ‘Should have a look at http://github.com/ginatrapani ASAP’ added on line 111.
todo.sh nav 111If activeCollab project/ticket info is associated with a task, open in the browser.
todo.sh ac 12Commit all changes to existing Git repository in $TODO_DIR
.
Push all changes in local state at $TODO_DIR
to an existing, remote Git repository.
Always pushes to origin master.
Fetch and merge all changes from an existing, remote Git repository into $TODO_DIR
.
Fetches from origin, merges from origin/master into master.
Keeps local Git repository in $TODO_DIR
in sync with remote Git repository at origin.
Requires the commit, pull and push addons.
A Python script birdseye.py
(called with the birdseye
action) analyzes the todo.txt
and done.txt
files to generate a report of completed and incomplete items in every context and project. (Requires Python and both birdseye.py
and birdseye
files to run.)
This will print your todo list:
todo.sh paperAlso you can choose your printer:
todo.sh paper -d ‘Canon-MP240’Requires CUPS.
List tasks categorized by project.
Example:
===== Projects =====
-Project1-01 item 1-Project2-02 item 2 04 item 4-Not in projects-03 item3
Supports push and pull, but it still needs some work.
This will push to Remember the Milk:
todo.sh rtm pushThis will pull from Remember the Milk:
todo.sh rtm pullYou will need a web browser to accept the
Set, remove or change date threshold of an item. Works best together with the Future Tasks filter.
Show todo items containing TERM, grouped by OPTION, and displayed in priority order. If no TERM provided, displays entire todo.txt. The original idea and script is derived from projectview by Paul.
Example:
$ todo.sh view project # Show todo items grouped by project
$ todo.sh view project @context # Show todo items grouped by project and filtered by @context
$ todo.sh view date +project # Show todo items grouped by date and filtered by +project
$ todo.sh view after # Show todo items grouped by date after and with today.
$ todo.sh view before # Show todo items grouped by date before and with today.
$ todo.sh view before +project # Show todo items grouped by date before and with today and filtered by +project
Discussion thread
Project page
Download file
Generate a list of recently completed tasks. Per default lately lists tasks that were completed during the last seven days. With an optional argument, number of days, that can be overridden to show more or less.
Examples:
$ todo.sh lately # Lists tasks completed within the last 7 days
$ todo.sh lately 3 # Lists tasks completed within the last 3 days
This is useful for repeating todo items where the date entered is important. This command simply marks
the given item as done and reenters it again, optionally at a specified number of days from the completion date, or a specified number of days from the due date where this is one. Priority is not preserved.
Examples:
$ todo.sh repeat 3 # Marks item 3 as done and recreates is as a new item
$ todo.sh repeat 3 7 # Marks item 3 as done and recreates it 7 days from now
$ todo.sh repeat 3 +7 # Marks item 3 as done and recreates it 7 days from the due date
recur: Intelligently add recurring tasks.
$ todo.sh ls
1 Some task
2 Some other task
3 A third task
--
2013-06-11: 3 of 3 tasks shown
$ todo.sh ls
1 Some task
2 Some other task
3 A third task
--
2013-06-11: 3 of 3 tasks shown
$ todo.sh bump 1
Some task
TODO: 1 bumped from 2013-06-11.txt to 2013-06-12.txt
$ todo.sh lf 2013-06-12
1 Some task
—
2013-06-12: 1 of 1 tasks shown
$ todo.sh lsa
1 Some other task
2 A third task
0 × 2013-06-11 Some task bumped:2013-06-12
$ todo.sh bumpall
Some other task
A third task
TODO: all items bumped from 2013-06-11.txt to 2013-06-12.txt
$ todo.sh lsf 2013-06-10.txt
1 Some task I forgot about
—
2013-06-10: 1 of 1 tasks shown
$ todo.sh verify
2013-06-10.txt
$ todo.sh bringforward
Some task I forgot about
TODO: all items bumped from 2013-06-10.txt to 2013-06-11.txt
When run from a daily cron job (or similar scheduler), it will add tasks on appropriate days from a recur.txt file, while avoiding redundant adds of previously-added, not-yet-completed tasks.
When run from a daily cron job (or similar scheduler), it will add tasks on appropriate days from a recur.txt file, while avoiding redundant adds of previously-added, not-yet-completed tasks.
You’ll notice this is just like “recur”; the difference is that ice_recur is much more flexible in terms of what sorts of schedules it can handle:
daily - (A) Runs every day; includes today
daily 2 - (B) Runs every other day; includes today
@2016-03-10 daily 2 - Runs every other day, starting on the day specified (which may or may not include today)
weekly ; day Friday, Sunday - Runs every Friday and Saturday
monthly ; day_of_month 11, 13 - Runs on the 11th and 13th of every month
@2016-03-07 Weekly 2 ; day Thursday - Runs on Thursday every second week starting on the first Thursday after the day specified.
@2016-03-01 Monthly 3 - Runs every 3 months starting on the day specified (so, occurs on the first day of the month; next occurence is 2016-06-01)
@2016-01-04 Yearly - Runs every year starting on the day specifiod (so, occurs on the 4th of January)
Push or Pull todo items to and from Google Tasks.
Examples:
$ todo.sh google pull #pulls tasks from Google
$ todo.sh google push #push todo items to Google
$ todo.sh google push all #push todo and done items to Google
You will need to set up Google API access to use (see project README).
Requires Python
An add on implemented in ruby that generates a “report” for daily standups based on your tasks.
You can now sync your todo with Google Docs
Sharing your todos with people is now possible.
You can also sync your todos with third party tools like aNotes.
Examples:
$ todo.sh docs pull #pulls todo from Google Docs
$ todo.sh docs push #push todo to Google Docs
$ todo.sh docs help #display help
Requires:
- Google account (!) with a folder/tag chosen for todos items
- Google CL
Installation:
- Install Google CL and configure oAuth by typing google docs list and following wizard.
- Then simply run pull or push, a quick wizard will ask you the name of the Google folder/tag to sync and voila!
Author: Amaury Decrême – amaury.decreme at gmail.com
Licence: GPL http://www.gnu.org/copyleft/gpl.html
Bash addon to help you track your Most Important Tasks.
Examples:
$ todo.sh mit today go do something # use today or tomorrow to create a mit
$ todo.sh mit friday stash millions # use a day of week to create a mit
$ todo.sh mit mon water the garden # use an abbreviated day of week to create a mit
$ todo.sh mit 2012.09.17 buy github # use specific date to create a mit
$ todo.sh mit -h # get some help
$ todo.sh mit # display all mits
Past Due:
do something @home (12)
Today:
fix something @work (14)
$ todo.sh mit @home # display all mits in specified context
Past Due:
do something @home (12)
MIT now has support for adding MIT’s to a month, quarter or year! See the project page for details.
Author: Cody Buell
License: GPL http://www.gnu.org/copyleft/gpl.html
An extension to the Most Important Task add-on (as such, it’s required for this add-on to work).
This add-on allows the user to generate MIT TODOs for certain day in the future. Assuming today’s YYYY-MM-DD
date is 2016-01-15
, then the command todo.sh mitf 10d "Foo @bar +baz"
would result in running the MIT command todo.sh mit 2016.01.25 "Foo @bar +baz"
.
Examples:
$ date -Idate
2016-11-13
$ todo.sh mitf 3d "Foo @bar +baz"
85 2016-11-13 {2016.11.16} Foo @bar +baz
TODO: 85 added.
$ todo.sh mitf 1w "Foo @bar +baz"
86 2016-11-13 {2016.11.20} Foo @bar +baz
TODO: 86 added.
$ todo.sh mitf 2m "Foo @bar +baz"
87 2016-11-13 {2017.01.13} Foo @bar +baz
TODO: 87 added.
Author: linduxed
License: WTFPL http://www.wtfpl.net/
hey tells you one thing you should do regularly, but haven’t done lately.
Examples:
$ todo.sh lf hey
1 @phone Mom (+1 234 567 8901) +family
2 @skype Dad +family
3 @email mentor
4 @write old flame <[email protected]>
--
HEY: 4 of 4 tasks shown
$ todo.sh hey
37 @phone Mom (+1 234 567 8901) +family
TODO: 37 added
Helper scripts to let you keep one todo.txt file per day, and move tasks between dated todo files. Intended for use with the cycle as described in Time Management for Systems Administrators.
Examples:
$ todo.sh ls
1 Some task
2 Some other task
3 A third task
--
2013-06-11: 3 of 3 tasks shown
$ todo.sh bump 1
Some task
TODO: 1 bumped from 2013-06-11.txt to 2013-06-12.txt
$ todo.sh lf 2013-06-12
1 Some task
--
2013-06-12: 1 of 1 tasks shown
$ todo.sh lsa
1 Some other task
2 A third task
0 x 2013-06-11 Some task bumped:2013-06-12
$ todo.sh bumpall
Some other task
A third task
TODO: all items bumped from 2013-06-11.txt to 2013-06-12.txt
$ todo.sh lsf 2013-06-10.txt
1 Some task I forgot about
--
2013-06-10: 1 of 1 tasks shown
$ todo.sh verify
2013-06-10.txt
$ todo.sh bringforward
Some task I forgot about
TODO: all items bumped from 2013-06-10.txt to 2013-06-11.txt
Author: Mark Harrison
License: MIT
Easily re-add tasks that you have previously completed back to your todo.txt list.
Examples:
$ todo.sh revive
01 x 2013-06-25 My task
03 x 2013-06-28 Another task
02 x 2013-06-30 Some other task
--
DONE: 3 of 3 tasks shown
$ todo.sh revive 1
1 My task
TODO: 1 added.
Author: Duncan Eastoe
License: MIT
again allows for easy completion and re-adding of tasks, with preserved
due dates and deferral dates (if any).
Tasks can be re-created in three different manners:
- Having any due dates and deferral dates set to today
- Having any due dates and deferral dates set to N days from today
- Having any due dates and deferral dates set to N days from their previous values
Examples:
$ todo.sh again 31
31 x 2013-10-13 Test due:2013-10-14 t:2013-10-13
TODO: 31 marked as done.
x 2013-10-13 Test due:2013-10-14 t:2013-10-13
TODO: /home/foobar/Dropbox/todo/todo.txt archived.
30 Test due:2013-10-13 t:2013-10-13
TODO: 30 added.
$ todo.sh again 31 10
31 x 2013-10-13 Test due:2013-10-14 t:2013-10-13
TODO: 31 marked as done.
x 2013-10-13 Test due:2013-10-14 t:2013-10-13
TODO: /home/foobar/Dropbox/todo/todo.txt archived.
30 Test due:2013-10-23 t:2013-10-23
TODO: 30 added.
$ todo.sh again 31 +10
31 x 2013-10-13 Test due:2013-10-14 t:2013-10-13
TODO: 31 marked as done.
x 2013-10-13 Test due:2013-10-14 t:2013-10-13
TODO: /home/foobar/Dropbox/todo/todo.txt archived.
30 Test due:2013-10-24 t:2013-10-23
TODO: 30 added.
Author: Niklas Thörne
License: GPLv3
works just like list
but truncates the list to fit in the terminal without scrolling or wrapping.
say you have 20 lines visible at a time in your terminal run todo.sh top
and you’ll see the top 16 tasks.
most useful when set as the default command with: TODOTXT_DEFAULT_ACTION
Author: Jon Knapp
License: GPLv3
XP prints the tasks completed on each day starting (x) number of days ago. You may also omit days on which no tasks were completed.
Example (Saturday where tasks were only completed Friday and Monday with the o option):
todo.sh xp -o 6
========================== Monday : 2013-12-02 ========================== x 2013-12-02 +ITSM some task I completed @work x 2013-12-02 +ITSM some task I completed @work x 2013-12-02 +ITSM some task I completed @work x 2013-12-02 +ITSM some task I completed @work ========================== Friday : 2013-12-06 ========================== x 2013-12-06 +ITSM some task I completed @work x 2013-12-06 +ITSM some task I completed @work x 2013-12-06 +ITSM some task I completed @work x 2013-12-06 +ITSM some task I completed @work x 2013-12-06 +ITSM some task I completed @work
Author: Chris Jones : [email protected]
License: GPLv3
A helpful todo.sh command when you are adding lots of related tasks. It simply appends the tags of the most recent item to the item you add.
$ t add 'here is a a task +context +project' 59 here is a a task +context +project TODO: 59 added. $ t addr 'here is another task' Appending: +context +project 60 here is another task TODO: 60 added. 60 here is another task +context 60 here is another task +context +project
A print method for todo.sh that uses the entire terminal instead of just one column. It splits up your todo.txt either by context or by project. Although not shown below, it does show line numbers next to each task so you can easily refer to them.
$ t lsgc @play @code (A) task (B) task (C) task task task task +research task task +tool task task @email @context (A) this guy (A) task +project (A) this guy +project (D) task +project this guy task +project this guy this guy this guy this guy this guy
This plugin allows estimating pomodori, running a pomodoro countdown, and manually adding pomodori to todo items. Examples, installation instructions and a screenshot are available on the project page.
outline is an extension for command line todo.txt that allows you to plan your projects in a tab-indented outline, and sync only the next actions with todo.txt. Actions for editing and displaying your outline, syncing outline.txt with todo.txt, and completing tasks directly from the outline, are also provided.
A next action is defined as the first subtask with no subtask of its own under 1) a root task or 2) a task tagged with a project (eg. “+project”)—unless the task or parent tree is tagged with @someday or @maybe (or as otherwise configured).
Next actions inherit the project tags and the nearest priority tag from their parent tree. Context tags (“@context”) are not inherited.
For the following outline.txt
(B) Walk the dog +dogwalk
Get a dog
Lookup animal shelters
Buy a +leash
Lookup pet stores
Lookup dog parks
Call mom @phone
@someday
get my GED
The following tasks will be synchronised with todo.txt (the id tags allow for synchronization between todo.txt, outline.txt, and done.txt despite editing):
(B) Lookup animal shelters id:1 +dogwalk
(B) Lookup pet stores id:2 +dogwalk +leash
Call mom @phone id:3
using the sync action
todo.sh outline sync
More actions are available for editing, displaying, and synchronizing the outline. For more information see the project page
This add-on allows to take notes related to tasks. Notes are stored in text files where you can write down any information related with the task. Just one file per task is allowed.
Example:
$ todo.sh ls
1 Cook cake for birthday party
2 Fix bicycle
--
TODO: 2 of 2 tasks shown
$ todo.sh note add 1 # A note for task 1 will be created
1 Cook cake for birthday party note:cUn.txt
TODO: Note added to task 1.
Edit note? (y/n)
y # The user agrees to edit the note
$ todo.sh note show 1 # Later on, the user wants to see the content of the note for task 1
# Cook cake for birthday party
A couple of cakes thar look great:
http://www.terrificfantasticcakes.com/sacher
http://www.evenbettercakes.com/tartadesanmarcos
$ todo.sh note edit 1 # To add something else to the note
Author: Manuel J. Garrido
Licence: GPL
Donow add-on allows to keep track of the total time spent on an activity
Once started, Donow reports on the stdout the current activity and the time spent on it. Each 10 minutes (configurable) a desktop notification (that can be disabled) will remind you the current running activity, to avoid to forget to stop the timer when not needed anymore.
When the timer is stopped using CTRL-C, donow will append a substring min:total-time-spent (being time expressed in minutes) to the activity description.
When the pattern “min:number” already exists, Donow just updates the counter.
Example:
$ todo.sh list 1 design Python interface for Todo.txt
2 write a basic description of donow addon min:5
--
TODO: 2 of 2 tasks shown
$ todo.sh donow 1
Working on: design Python interface for Todo.txt
[design Python interface for Todo.txt] 11 minute(s) passed^C
1 design Python interface for Todo.txt min:11
$ todo.sh donow 2
Working on: write a basic description of donow addon min:5
[write a basic description of donow addon min:5] 12 minute(s) passed^C
2 write a basic description of donow addon min:5
TODO: Replaced task with:
2 write a basic description of donow addon min:17
Author: Carlo Lobrano
Chcon allows fast replacement or deletion of the context tag (and whatever follows that in the task description).
Example:
$ todo.sh chcon 56 @office
56 upgrade servers @waiting
TODO: Replaced task with:
56 upgrade servers @office
$ todo.sh chcon 56
56 upgrade servers @office
TODO: Replaced task with:
56 upgrade servers
Author: Kaarle Ritvanen
Plugin for applying the “rm” action, which either removes a specified line or a term within that line, to any file in the todo directory
Usage: `todo.sh rmf FILENAME #ITEM [TERM]`
The basic idea of this planning mechanism is that on a per-week basis, we want to dedicate a certain percentage of time for various task groups. Total amount of time available for each task groups is mentioned in the allocations.conf file. This addon and its associated commands help to make sure that we spend the desired amount of time in various task
This addon is for anybody who prioritizes items in at least two levels, completes the highest priority items, and then wants to increase the priority level of the remaining tasks. all_repri will increase or decrease the priority level of all and only already prioritized items by a given number of priority levels.
This action provides a shorthand for moving todos into and out of a stale.txt file, where you would keep todos that you haven’t got to in a while and that don’t really fit into a specific outline.
This action creates an Apple Reminder out of a todo. It also includes an optional customized do action that will find the matching Apple Reminder and delete it once you mark the todo as done.
This action creates a calendar event out of a todo. It requires khal and – to enable cloud sync – vdirsyncer.
This action lets you edit a single task in the editor of your choice, ($EDITOR environmental variable).
Example:
$ todo.sh ls
1 take dog for a walk
2 edit this line with tedit
$ todo tedit 2
At this point
$EDITOR
is opened with the line:edit this line with tedit
in it for you to edit. You change it to
this line has been edited through tedit
and afterwards just save and exit. Doubtful, you decide to check your changes and run
$ todo ls
1 take dog for a walk
2 this line has been edited through tedit
Specify the due-date you want in any of the supported formats (listed in project page) and apply it to a batch of items simultaneously.
Example:
$ todo.sh ls
1 due:2012-12-31 take dog for a walk
2 set a duedate for this task
$ todo.sh setdue --02-28 1 2
$ todo.sh ls
1 due:2019-02-28 take dog for a walk
2 set a duedate for this task due:2019-02-28
Instead of just listing one ITEM# you can enter multiple ITEM# and even ranges for any ACTION (that takes a ITEM#) or use a search term.
Example:
To set the priority to B for the tasks 1 to 3 and 5:
$ todo.sh many pri 1-3,5 b
5 (B) Download Todo.txt mobile app @Phone
TODO: 5 prioritized (B).
3 (B) Outilne chapter 5 +Novel @Computer
TODO: 3 prioritized (B).
2 (B) Schedule annual checkup +Health
TODO: 2 prioritized (B).
1 (B) Call Mom @Phone +Family
TODO: 1 prioritized (B).
To set the priority to C for the tasks containing the work Download or are part of the project Novel:
$ todo-txt many pri '/Download\|
5 © Download Todo.txt mobile app @Phone
TODO: 5 prioritized ©.
3 © Outilne chapter 5 +Novel @Computer
TODO: 3 re-prioritized from (B) to ©.
Finish a task and re-enter it with a decreased count, so that you can easily keep track of items.
Example:
$ todo.sh list
01 2019-12-28 Watermelon
02 2019-12-28 Banana count:4
--
TODO: 2 of 2 tasks shown
$ todo.sh count 1
1
$ todo.sh count 2
4
$ todo.sh count 2 done
$ todo.sh list
01 2019-12-28 Watermelon
02 2019-12-28 Banana count:3
--
TODO: 2 of 2 tasks shown
This addon allows you to clock in tasks through hamster, the GNOME time tracker.
First, you will need to install hamster-time-tracker.
Then, just call the command “clock” and enter the task number you want to clock in:
$ todo.sh list
02 (A) Escape from the dungeon +Freedom
01 (B) Get milk +Groceries
--
TODO: 2 of 2 tasks shown
$ todo.sh clock in 2
Clocking in for Escape from the dungeon…
Any of the tasks you clock in be visible in hamster, and you can also see them by using:
$ hamster current
2020-04-22 12:53 Escape from the dungeon@Freedom 00:00
When you’re done with the task and want to clock out, just use:
$ todo.sh clock out
Clocking out for Escape from the dungeon...
To see all your clocks for the day:
$ hamster list
Start | End | Duration | Activity | Category
----------------------------------------------------------------
12:53 | | 1min | Escape from the dungeon | Freedom
----------------------------------------------------------------
Freedom: 1min
Total: 1min
random
Print a random task from your list
random due
Print a random task due on the first due date in your list
random due [offset]
Print a random task due on the [offset] due date in your list
Any task with t:YYYY-MM-DD matching today’s date will be displayed.
Example:
$ date +%Y-%m-%d
2020-05-28
$ todo.sh list
1 2020-05-27 A task I plan to do in a days time t:2020-05-28
2 2020-05-28 A task I want to do today t:2020-05-28
3 2020-05-28 A task I want to do tomorrow t:2020-05-29
4 2020-05-28 A task without a date on it
$ todo.sh today
===================================
Tasks for today:
===================================
1 2020-05-27 A task I plan to do in a days time t:2020-05-28
2 2020-05-28 A task I want to do today t:2020-05-28
Autoprioritise tasks X days before thet are due.
todo.sh autopri [days, priority]
To autoprioritise tasks to priority A 2 days before they are due:
todo.sh autopri 2
dorecur provides a drop-in replacement for the do action. It handles recurring tasks by adding a new task when the old task is finished. It does not require an external scheduler such as cron.
Normal recurrence example (based on date of completion):
$ todo-txt ls
1 Water flowers t:2021-01-01 rec:5d
$ date -I
2021-01-02
$ todo-txt do 1
1 x 2021-01-02 Water flowers t:2021-01-01 rec:5d
TODO: 1 marked as done.
1 Water flowers t:2021-01-07 rec:5d
TODO: 1 added.
Strict recurrence example (based on original start/due dates):
$ todo-txt ls
1 Send birthday greeting to friend t:2021-04-04 rec:+1y
$ todo-txt do 1
1 x 2021-04-05 Send birthday greeting to friend t:2021-04-04 rec:+1y
TODO: 1 marked as done.
1 Send birthday greeting to friend t:2022-04-04 rec:+1y
gimme selects a task at random based on criteria. (gimmef does the same, but using a specified file).
$ todo.sh gimme @computer # Selects an item from your default todo.txt file having @computer.
$ todo.sh gimme @computer +foo # Selects an item from your default todo.txt file matching @computer and +foo.
$ todo.sh gimmef someday.txt # Selects an item from your someday.txt file.
$ todo.sh gimmef someday.txt pepper # Selects an item from your someday.txt file having "pepper".