*** tclock.c Sun Feb 7 20:24:51 1999 --- work/tclock.c Sun Feb 7 20:34:52 1999 *************** *** 22,28 **** --- 22,31 ---- */ #include + #include + #include #include + #include #include #include #include *************** *** 51,57 **** int screen_number; Window rootWindow, mainWindow; int ShapeEventNumber, ShapeErrorNumber; ! long clock; struct tm lastTimes, times; Pixmap border, clip; GC clearGC, drawGC; --- 54,60 ---- int screen_number; Window rootWindow, mainWindow; int ShapeEventNumber, ShapeErrorNumber; ! time_t lclock; struct tm lastTimes, times; Pixmap border, clip; GC clearGC, drawGC; *************** *** 212,218 **** XShapeCombineMask(display, mainWindow, ShapeBounding, 0, 0, border, ShapeSet); XShapeCombineMask(display, mainWindow, ShapeClip, 0, 0, clip, ShapeSet); ! XFlush(display, 1); /* This call to XPending ensures that if the window gets closed, we die */ XPending(display); --- 215,221 ---- XShapeCombineMask(display, mainWindow, ShapeBounding, 0, 0, border, ShapeSet); XShapeCombineMask(display, mainWindow, ShapeClip, 0, 0, clip, ShapeSet); ! XFlush(display); /* This call to XPending ensures that if the window gets closed, we die */ XPending(display); *************** *** 233,243 **** int sigalrm() { ! clock = time(0); ! times = *localtime(&clock); times.tm_hour = times.tm_hour * 5 + times.tm_min / 12; reshape(); ! signal(SIGALRM, sigalrm); /* For SysV lusers */ } unsigned long --- 236,246 ---- int sigalrm() { ! lclock = time(0); ! times = *localtime(&lclock); times.tm_hour = times.tm_hour * 5 + times.tm_min / 12; reshape(); ! signal(SIGALRM, (void *)sigalrm); /* For SysV lusers */ } unsigned long *************** *** 330,336 **** display = XOpenDisplay(displayName); if(display == 0) { ! fprintf("Couldn't open display %s\n", displayName); exit(-1); } --- 333,339 ---- display = XOpenDisplay(displayName); if(display == 0) { ! fprintf(stderr, "Couldn't open display %s\n", displayName); exit(-1); } *************** *** 347,353 **** if(access(fn, R_OK) == 0) XrmMergeDatabases(XrmGetFileDatabase(fn), &db); ! if(getenv("XENVIRONMENT") && access(getenv("XENVIRONMENT")) == 0) XrmMergeDatabases(XrmGetFileDatabase(getenv("XENVIRONMENT")), &db); XrmMergeDatabases(cmdDB, &db); --- 350,356 ---- if(access(fn, R_OK) == 0) XrmMergeDatabases(XrmGetFileDatabase(fn), &db); ! if(getenv("XENVIRONMENT") && access(getenv("XENVIRONMENT"), R_OK) == 0) XrmMergeDatabases(XrmGetFileDatabase(getenv("XENVIRONMENT")), &db); XrmMergeDatabases(cmdDB, &db); *************** *** 410,416 **** XMapRaised(display, mainWindow); XFlush(display); ! signal(SIGALRM, sigalrm); new.it_interval.tv_sec = 1; new.it_value.tv_sec = 1; new.it_interval.tv_usec = 0; --- 413,419 ---- XMapRaised(display, mainWindow); XFlush(display); ! signal(SIGALRM, (void *)sigalrm); new.it_interval.tv_sec = 1; new.it_value.tv_sec = 1; new.it_interval.tv_usec = 0; *************** *** 420,423 **** for(;;) sigpause(0); } - --- 423,425 ----