Command-line time tracking
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. |
||
|---|---|---|
| .gitignore | ||
| .travis.yml | ||
| aclocal.m4 | ||
| bindings.c | ||
| bindings.h | ||
| bling_import.pl | ||
| commands.c | ||
| commands.h | ||
| config.h.in | ||
| configure | ||
| configure.ac | ||
| entry.c | ||
| entry.h | ||
| functions.c | ||
| functions.h | ||
| install-sh | ||
| Makefile.in | ||
| README | ||
| str.c | ||
| str.h | ||
| style.h | ||
| tailq.h | ||
| tts.c | ||
| tts.h | ||
| tts_curses.h | ||
| ttsrc.sample | ||
| ui.c | ||
| ui.h | ||
| variable.h | ||
| vers.c.sh | ||
| wide.c | ||
| wide.h | ||
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>.