Command-line time tracking
Find a file
Felicity Tarnell 38021971e3 Rework input handling; no functional changes.
Instead of using halfdelay() and relying on GETCH() to return, poll for
input ourselves using select() and only call GETCH() when input is ready.

On Darwin, use kqueue instead of select.  This allows us to receive IOKit
notifications directly to the main thread, instead of having a separate
thread dedicated to that.  We also no longer link to CoreFoundation.
2014-03-07 21:54:26 +00:00
.gitignore Add .gitignore. 2014-03-07 20:21:09 +00:00
.travis.yml Add travis-ci config. 2014-01-30 18:03:12 +00:00
aclocal.m4 Initial import. 2014-01-06 09:52:34 +00:00
bindings.c OS X: Remove CoreFoundation; use kqueue() directly. 2014-03-07 20:20:20 +00:00
bindings.h OS X: Remove CoreFoundation; use kqueue() directly. 2014-03-07 20:20:20 +00:00
bling_import.pl Ditch version.h; update copyright. 2014-01-06 09:55:45 +00:00
commands.c Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00
commands.h Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00
config.h.in OS X: Handle power events sensibly. 2014-03-05 14:17:54 +00:00
configure OS X: Remove CoreFoundation; use kqueue() directly. 2014-03-07 20:20:20 +00:00
configure.ac OS X: Remove CoreFoundation; use kqueue() directly. 2014-03-07 20:20:20 +00:00
entry.c OS X: Remove CoreFoundation; use kqueue() directly. 2014-03-07 20:20:20 +00:00
entry.h OS X: Remove CoreFoundation; use kqueue() directly. 2014-03-07 20:20:20 +00:00
functions.c OS X: Remove CoreFoundation; use kqueue() directly. 2014-03-07 20:20:20 +00:00
functions.h Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00
install-sh Initial import. 2014-01-06 09:52:34 +00:00
Makefile.in Cleanups; add 'make depend'. 2014-03-07 19:18:20 +00:00
README T.83.0: remove 'mark-interrupt' command 2014-03-05 15:55:06 +00:00
str.c Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00
str.h Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00
style.h Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00
tailq.h OS X: Remove CoreFoundation; use kqueue() directly. 2014-03-07 20:20:20 +00:00
tts.c Rework input handling; no functional changes. 2014-03-07 21:54:26 +00:00
tts.h OS X: Remove CoreFoundation; use kqueue() directly. 2014-03-07 20:20:20 +00:00
tts_curses.h Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00
ttsrc.sample T.82.0: 'set bill_increment' command. 2014-03-05 15:43:20 +00:00
ui.c OS X: Remove CoreFoundation; use kqueue() directly. 2014-03-07 20:20:20 +00:00
ui.h Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00
variable.h Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00
vers.c.sh Calculate version string from configure.ac at compile time. 2014-03-05 15:28:24 +00:00
wide.c Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00
wide.h Source refactoring; no functional changes. 2014-03-07 17:43:41 +00:00

TTS - Time-tracking software
============================

TTS is a simple, text-based (curses) time-tracking application.  For more
details, see the website at <http://loreley.flyingparchment.org.uk/~felicity/pages/tts>.

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

Send questions/comments/bugs/patches to <felicity@loreley.flyingparchment.org.uk>.