wmclock: Add -interval option.
From the Debian patch: http://sources.debian.net/src/wmclock/1.0.14-6/debian/patches/add_interval_option.patch/ For more information, see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=228986
This commit is contained in:
parent
84409015be
commit
2d571d6d07
|
@ -146,6 +146,7 @@ int enableShapedWindow = 1; /* default value is noshape */
|
||||||
int enableBlinking = 1; /* default is blinking */
|
int enableBlinking = 1; /* default is blinking */
|
||||||
int startIconified = 0; /* default is not iconified */
|
int startIconified = 0; /* default is not iconified */
|
||||||
int enableYearDisplay = 0; /* default is to show time, not year */
|
int enableYearDisplay = 0; /* default is to show time, not year */
|
||||||
|
int blinkInterval = 2; /* default is a 2-second blink cycle */
|
||||||
|
|
||||||
int timePos12[NUM_TIME_POSITIONS] = { 5, 14, 24, 28, 37 };
|
int timePos12[NUM_TIME_POSITIONS] = { 5, 14, 24, 28, 37 };
|
||||||
int timePos24[NUM_TIME_POSITIONS] = { 4, 8, 17, 22, 31 };
|
int timePos24[NUM_TIME_POSITIONS] = { 4, 8, 17, 22, 31 };
|
||||||
|
@ -207,6 +208,7 @@ char *usageText[] = {
|
||||||
" -24 show 24-hour time",
|
" -24 show 24-hour time",
|
||||||
" -year show year instead of time",
|
" -year show year instead of time",
|
||||||
" -noblink don't blink",
|
" -noblink don't blink",
|
||||||
|
" -interval <seconds> set blink interval",
|
||||||
" -exe <command> start <command> on mouse click",
|
" -exe <command> start <command> on mouse click",
|
||||||
" -led <color> use <color> as color of led",
|
" -led <color> use <color> as color of led",
|
||||||
#ifndef ONLY_SHAPED_WINDOW
|
#ifndef ONLY_SHAPED_WINDOW
|
||||||
|
@ -799,6 +801,16 @@ int processArgs(int argc, char **argv)
|
||||||
{
|
{
|
||||||
showUsage();
|
showUsage();
|
||||||
}
|
}
|
||||||
|
else if ((0 == strcmp(argv[i], "-interval")) ||
|
||||||
|
(0 == strcmp(argv[i], "--interval")))
|
||||||
|
{
|
||||||
|
if (++i >= argc)
|
||||||
|
{
|
||||||
|
showUsage();
|
||||||
|
}
|
||||||
|
blinkInterval = atoi(argv[i]);
|
||||||
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
fprintf(stderr, "%s: unrecognized option `%s'\n",
|
fprintf(stderr, "%s: unrecognized option `%s'\n",
|
||||||
|
@ -822,6 +834,7 @@ int main(int argc, char **argv)
|
||||||
XClassHint classHint;
|
XClassHint classHint;
|
||||||
Pixmap shapeMask;
|
Pixmap shapeMask;
|
||||||
struct timeval nextEvent;
|
struct timeval nextEvent;
|
||||||
|
unsigned int blinkCounter = 0;
|
||||||
|
|
||||||
/* Parse command line options */
|
/* Parse command line options */
|
||||||
progName = extractProgName(argv[0]);
|
progName = extractProgName(argv[0]);
|
||||||
|
@ -962,26 +975,6 @@ int main(int argc, char **argv)
|
||||||
redrawWindow(&visible);
|
redrawWindow(&visible);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (enableBlinking && (!enableYearDisplay))
|
|
||||||
{
|
|
||||||
if (actualTime % 2)
|
|
||||||
{
|
|
||||||
/* Sekunden Doppelpunkt ein */
|
|
||||||
XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
|
|
||||||
COLON_X_OFFSET, COLON_Y_OFFSET,
|
|
||||||
COLON_WIDTH, COLON_HEIGHT,
|
|
||||||
xPos[COLON_X_POS], yPos[COLON_Y_POS]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Sekunden Doppelpunkt aus */
|
|
||||||
XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
|
|
||||||
BLANK_X_OFFSET, BLANK_Y_OFFSET,
|
|
||||||
COLON_WIDTH, COLON_HEIGHT,
|
|
||||||
xPos[COLON_X_POS], yPos[COLON_Y_POS]);
|
|
||||||
}
|
|
||||||
redrawWindow(&visible);
|
|
||||||
}
|
|
||||||
if (0 == (actualTime % 2))
|
if (0 == (actualTime % 2))
|
||||||
{
|
{
|
||||||
/* Clean up zombie processes */
|
/* Clean up zombie processes */
|
||||||
|
@ -995,6 +988,37 @@ int main(int argc, char **argv)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (enableBlinking && (!enableYearDisplay))
|
||||||
|
{
|
||||||
|
blinkCounter++;
|
||||||
|
#ifdef SYSV
|
||||||
|
if (blinkCounter >= 20*blinkInterval)
|
||||||
|
#else
|
||||||
|
if (blinkCounter >= 2*blinkInterval)
|
||||||
|
#endif
|
||||||
|
blinkCounter = 0;
|
||||||
|
if (blinkCounter == 0)
|
||||||
|
{
|
||||||
|
/* Sekunden Doppelpunkt ein */
|
||||||
|
XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
|
||||||
|
COLON_X_OFFSET, COLON_Y_OFFSET,
|
||||||
|
COLON_WIDTH, COLON_HEIGHT,
|
||||||
|
xPos[COLON_X_POS], yPos[COLON_Y_POS]);
|
||||||
|
}
|
||||||
|
#ifdef SYSV
|
||||||
|
if (blinkCounter == 10*blinkInterval)
|
||||||
|
#else
|
||||||
|
if (blinkCounter == blinkInterval)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
/* Sekunden Doppelpunkt aus */
|
||||||
|
XCopyArea(dpy, led.pixmap, visible.pixmap, normalGC,
|
||||||
|
BLANK_X_OFFSET, BLANK_Y_OFFSET,
|
||||||
|
COLON_WIDTH, COLON_HEIGHT,
|
||||||
|
xPos[COLON_X_POS], yPos[COLON_Y_POS]);
|
||||||
|
}
|
||||||
|
redrawWindow(&visible);
|
||||||
|
}
|
||||||
|
|
||||||
/* read a packet */
|
/* read a packet */
|
||||||
while (XPending(dpy))
|
while (XPending(dpy))
|
||||||
|
@ -1075,6 +1099,9 @@ int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
gettimeofday(&nextEvent,NULL);
|
gettimeofday(&nextEvent,NULL);
|
||||||
nextEvent.tv_sec = 0;
|
nextEvent.tv_sec = 0;
|
||||||
|
if (nextEvent.tv_usec < 500000)
|
||||||
|
nextEvent.tv_usec = 500000-nextEvent.tv_usec;
|
||||||
|
else
|
||||||
nextEvent.tv_usec = 1000000-nextEvent.tv_usec;
|
nextEvent.tv_usec = 1000000-nextEvent.tv_usec;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -61,6 +61,11 @@ The separator between the hours and minutes in the time display blinks
|
||||||
by default. This option turns off the blinking and displays a steadily
|
by default. This option turns off the blinking and displays a steadily
|
||||||
lit separator instead.
|
lit separator instead.
|
||||||
.TP
|
.TP
|
||||||
|
\fB\-interval\fI n\fR
|
||||||
|
Set the blink cycle to
|
||||||
|
.I n
|
||||||
|
seconds. The default is 2 (1 second on, 1 second off).
|
||||||
|
.TP
|
||||||
\fB\-version\fB
|
\fB\-version\fB
|
||||||
Displays the version of Wmclock.
|
Displays the version of Wmclock.
|
||||||
.TP
|
.TP
|
||||||
|
|
Loading…
Reference in a new issue