Command-line time tracking
Find a file
2017-09-25 13:24:40 +01:00
.gitignore .gitignore: update 2016-04-12 10:13:21 +01:00
.travis.yml Add travis-ci config. 2014-01-30 18:03:12 +00:00
aclocal.m4 Fix NetBSD and non-ncurses build. Simplify CPPFLAGS. 2014-03-08 00:50:11 +00:00
bindings.c Always use wide characters. 2014-03-08 00:30:40 +00:00
bindings.h Always use wide characters. 2014-03-08 00:30:40 +00:00
bling_import.pl bling_import.pl: fix LWP import 2017-05-23 09:42:45 +01:00
commands.c Provide error for invalid number in c_set(). 2014-03-08 11:37:52 +00:00
commands.h Always use wide characters. 2014-03-08 00:30:40 +00:00
config.guess Fix NetBSD and non-ncurses build. Simplify CPPFLAGS. 2014-03-08 00:50:11 +00:00
config.h.in Provide compat functions for wcsl{cpy,cat}(). 2014-03-08 13:03:19 +00:00
config.sub Fix NetBSD and non-ncurses build. Simplify CPPFLAGS. 2014-03-08 00:50:11 +00:00
configure configure: raise error if curses is not found 2017-09-25 13:14:35 +01:00
configure.ac configure: raise error if curses is not found 2017-09-25 13:14:35 +01:00
entry.c Always use wide characters. 2014-03-08 00:30:40 +00:00
entry.h Always use wide characters. 2014-03-08 00:30:40 +00:00
functions.c functions.c: do not allow entry titles containing only whitespace 2017-09-25 13:24:40 +01:00
functions.h Always use wide characters. 2014-03-08 00:30:40 +00:00
install-sh Initial import. 2014-01-06 09:52:34 +00:00
Makefile.in Provide compat functions for wcsl{cpy,cat}(). 2014-03-08 13:03:19 +00:00
README.md README: -> README.md 2017-06-27 15:14:11 +01:00
screenshot.png update README and add a screenshot 2017-06-27 15:13:57 +01:00
str.c str.c: missing #include <time.h> 2016-04-12 10:12:44 +01:00
str.h Honour user's time format when editing entry duration. 2014-03-08 13:58:21 +00:00
style.c Fix NetBSD and non-ncurses build. Simplify CPPFLAGS. 2014-03-08 00:50:11 +00:00
style.h Always use wide characters. 2014-03-08 00:30:40 +00:00
tailq.h OS X: Remove CoreFoundation; use kqueue() directly. 2014-03-07 20:20:20 +00:00
tts.c Configurable time format. 2014-03-08 13:49:19 +00:00
tts.h Configurable time format. 2014-03-08 13:49:19 +00:00
tts_curses.h Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00
ttsrc.sample Configurable time format. 2014-03-08 13:49:19 +00:00
ui.c prompt(): handle tab characters 2014-11-18 15:48:14 +00:00
ui.h New time format: "1h30m7s". 2014-03-08 12:18:22 +00:00
variable.h Always use wide characters. 2014-03-08 00:30:40 +00:00
vers.c.sh Calculate version string from configure.ac at compile time. 2014-03-05 15:28:24 +00:00
wcslcpy.c Fix wcslcpy compat. 2014-03-08 13:05:44 +00:00
wide.c Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00
wide.h Second argument to input_char() is wint_t, not wchar_t. 2014-03-08 12:57:35 +00:00

TTS - Time-tracking software

TTS is a simple, text-based (curses) time-tracking application. It allows you to track the time you spend working by client, project, etc. to allow accurate invoicing of clients or reporting to a corporate time-tracking system. It uses a simple text format to store data which can easily be parsed to export data to another system automatically. Entries can be added in bulk or in real time using a timer, and invoiced and non-billable entries are tracked. Entries can optionally be rounded up to a minimum billing increment.

Screenshot

A screenshot of TTS in use

Installation

TTS has been tested on FreeBSD, NetBSD, Solaris, Cygwin and Linux, with the following caveats:

- Wide character support does not work with Unicode using Solaris
  curses, which appears to only support EUC.  Use ncurses instead.

- Wide character support does not work at all on Cygwin; TTS must
  be compiled with --without-ncursesw.  Patches welcome.

TTS uses autoconf and can be built as follows:

$ ./configure
$ make
# make install

After starting with 'tts', type '?' for help.

Quick start

  • Press 'a' to add a new entry, and enter its name. The timer starts running.
  • Press space to toggle the timer on and off.
  • Press 'A' to add an entry and have TTS prompt for its initial time.
  • Press 'd' to delete an entry, and 'u' to undelete it.
  • Press 'e' to edit an entry's description, or '' to edit its time.
  • Press '+' to add time to an entry or '-' to remove time.
  • Press '?' for more help, and look at the sample .ttsrc.
  • When you're working on something and something else comes up, press 'r' to start the interrupt timer. When you're done with the other thing, press 'r' again to assign the interrupt time to a new entry.

Contact

To report problems or request features, please use the GitHub issue tracker at https://github.com/ftarnell/tts/issues. This requires that you have a GitHub account.