todo-tracker

module
v0.0.0-...-b9432f8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 31, 2022 License: MIT

README

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.

Directories

Path Synopsis
cmd
pkg
db

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL