summaryrefslogtreecommitdiff
path: root/aclock.c
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2014-09-26 12:33:28 +0000
committerDimitri Sokolyuk <demon@dim13.org>2014-09-26 12:33:28 +0000
commit25d0cf2f219b3689b79fe21de4704e36ceed52be (patch)
treec3a968c5102c6247f6109e8d112ce33e4c95cfc4 /aclock.c
parent818425fe4f7217eca22ca4e61f505c03072c7d9f (diff)
make aux display optionalHEADmaster
Diffstat (limited to 'aclock.c')
-rw-r--r--aclock.c60
1 files 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 <tenox@tenox.tc>\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);