diff options
| -rw-r--r-- | timetracker.c | 122 |
1 files changed, 79 insertions, 43 deletions
diff --git a/timetracker.c b/timetracker.c index c268a9e..d5a4bb5 100644 --- a/timetracker.c +++ b/timetracker.c @@ -6,11 +6,13 @@ #include <sys/stat.h> #include <unistd.h> #include <form.h> +#include <dirent.h> typedef struct activity { + char job_number[100]; + char name[100]; time_t start; time_t end; - char name[100]; } activity; activity new; @@ -19,33 +21,22 @@ activity activities[100]; void print_new(WINDOW *win) { - time_t time_now = time(NULL); - char start[80]; + time_t now = time(NULL); - strftime(start, sizeof(start), "%H:%M:%S", localtime(&new.start)); - - mvwprintw(win, 1, 1, "Current activity: %.*s", COLS - 20, new.name); - mvwprintw(win, 2, 1, "Start time: %s", start); - mvwprintw(win, 3, 1, "Duration: %ld", (time_now - new.start)/60); + mvwprintw(win, LINES - 1, 0, "%.*s", COLS - 6, new.name); + mvwprintw(win, LINES - 1, COLS - 5, "[%0.1f]", + difftime(now, new.start) / 3600); wrefresh(win); } void print_activities(WINDOW *win) { - char start[80], end[80]; - - mvwprintw(win, 0, 1, "Past activities:"); for (int i = 0; activities[i].start; i++) { - strftime(start, sizeof(start), "%H:%M:%S", - localtime(&activities[i].start)); - strftime(end, sizeof(end), "%H:%M:%S", - localtime(&activities[i].end)); - - mvwprintw(win, 4 * i + 1, 1, "Start time: %s", start); - mvwprintw(win, 4 * i + 2, 1, "End time: %s" |