From 25d0cf2f219b3689b79fe21de4704e36ceed52be Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 26 Sep 2014 12:33:28 +0000 Subject: make aux display optional --- aclock.c | 60 ++++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 18 deletions(-) diff --git a/aclock.c b/aclock.c index e6a8696..e89c4e6 100644 --- a/aclock.c +++ b/aclock.c @@ -89,10 +89,11 @@ const char INFO[] = "Copyright (c) 2002 by Antek Sawicki \n" "Version 1.8; Dublin, June 2002\n"; int -main(void) +main(int argc, char **argv) { char digital_time[32], stime[80], dtime[3][80]; - int i; + int i, ch; + int dflag = 0, sflag = 0; int FontHW = 2; int sXmax, sYmax, smax, hand_max, sXcen, sYcen; time_t t; @@ -101,13 +102,32 @@ main(void) struct timeval tv; int hascolors; + while ((ch = getopt(argc, argv, "ds")) != -1) { + switch (ch) { + case 'd': + dflag = 1; + break; + case 's': + sflag = 1; + break; + default: + break; + } + } + + argc -= optind; + argv += optind; + signal(SIGWINCH, catch); signal(SIGALRM, catch); signal(SIGINT, catch); + initscr(); curs_set(0); + if ((hascolors = has_colors())) start_color(); + init_pair(RED, COLOR_RED, COLOR_BLACK); init_pair(CYAN, COLOR_CYAN, COLOR_BLACK); init_pair(BLUE, COLOR_BLUE, COLOR_BLACK); @@ -141,18 +161,20 @@ main(void) erase(); draw_circle(hand_max, sYcen, sXcen, FontHW); - attron(COLOR_PAIR(GREEN)); - strftime(digital_time, sizeof(digital_time), "%d-%m-%y", ltime); - sevenseg(dtime, sizeof(dtime[0]), digital_time); - for (i = 0; i < 3; i++) - mvprintw(i + sYcen - sYmax / 4 - 1, - sXcen - strlen(dtime[i]) / 2, dtime[i]); - strftime(digital_time, sizeof(digital_time), "%H:%M:%S", ltime); - sevenseg(dtime, sizeof(dtime[0]), digital_time); - for (i = 0; i < 3; i++) - mvprintw(i + sYcen + sYmax / 4 - 1, - sXcen - strlen(dtime[i]) / 2, dtime[i]); - attroff(COLOR_PAIR(GREEN)); + if (dflag) { + attron(COLOR_PAIR(GREEN)); + strftime(digital_time, sizeof(digital_time), "%d-%m-%y", ltime); + sevenseg(dtime, sizeof(dtime[0]), digital_time); + for (i = 0; i < 3; i++) + mvprintw(i + sYcen - sYmax / 4 - 1, + sXcen - strlen(dtime[i]) / 2, dtime[i]); + strftime(digital_time, sizeof(digital_time), "%H:%M:%S", ltime); + sevenseg(dtime, sizeof(dtime[0]), digital_time); + for (i = 0; i < 3; i++) + mvprintw(i + sYcen + sYmax / 4 - 1, + sXcen - strlen(dtime[i]) / 2, dtime[i]); + attroff(COLOR_PAIR(GREEN)); + } if (hascolors) attron(A_BOLD); @@ -170,10 +192,12 @@ main(void) draw_hand(ltime->tm_sec, hand_max - 1, '.', sXcen, sYcen, FontHW); attroff(COLOR_PAIR(BLUE)); - attron(COLOR_PAIR(BLUE)); - strtime(stime, sizeof(stime), ltime); - mvprintw(sYmax - 1, sXcen - strlen(stime) / 2, stime); - attroff(COLOR_PAIR(BLUE)); + if (sflag) { + attron(COLOR_PAIR(BLUE)); + strtime(stime, sizeof(stime), ltime); + mvprintw(sYmax - 1, sXcen - strlen(stime) / 2, stime); + attroff(COLOR_PAIR(BLUE)); + } if (hascolors) attroff(A_BOLD); -- cgit v1.2.3