Skip to content

Go-powered terminal UI for managing a limited list of active TODO items

License

Notifications You must be signed in to change notification settings

matt-steen/todo-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

todo-tracker

Go terminal app powered by tview for managing a limited list of active TODO items.

asciicast

Motivation

Inspired by a suggestion from 4,000 Weeks by Oliver Burkeman, this simple todo list app limits the number of items on a closed list from which all work must be done. The idea is to force intentional prioritization rather than maintaining overly long todo lists and thinking that if only I worked harder or were more efficient, I could get everything done. Life is short (on average around 4,000 weeks ~= 80 years), so we have to choose what is worth our precious time and effort.

Getting started

To build and launch the app, install go and checkout the code:

$ make
$ tt

The default location for the backing sqlite db is ~/.todo_tracker.sqlite, which may be overridden by setting the TT_DB_FILENAME environment variable. Note that the app will initialize a db in the given location if it doesn't exist.

The default location for the debug log is ~/.todo_tracker.log, which may be overridden by setting the TT_LOG_FILENAME environment variable.

$ export TT_DB_FILENAME='/path/to/db.sqlite'
$ export TT_LOG_FILENAME='/path/to/logfile.log'

While the app is running, available actions should be apparent - keyboard shortcuts are visible in the header.

For navigating tables and forms, I don't override tview defaults - for forms, that means tab/Shift+tab to move back and forth between form items, enter to select a button, etc; for tables, that means j/k to move up and down, G to jump to the end, and gg to jump to the top.

About

Go-powered terminal UI for managing a limited list of active TODO items

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published