2012-11-10 18:30:22 +01:00
|
|
|
--- a/src/xosd.h
|
|
|
|
+++ b/src/xosd.h
|
2012-11-10 13:08:00 +01:00
|
|
|
@@ -64,7 +64,7 @@ extern "C"
|
|
|
|
* font X Logical Font Descriptor, see "xfontsel".
|
|
|
|
* colour X colour, see "rgb.txt" that comes with your X11
|
|
|
|
* distribution.
|
|
|
|
- * timeout Seconds before the display is hidden (-1 for
|
|
|
|
+ * timeout Milliseconds before the display is hidden (-1 for
|
|
|
|
* never).
|
|
|
|
* pos Position to write text (top or bottom).
|
|
|
|
* offset Number of pixels between the "pos" and the
|
|
|
|
@@ -286,7 +286,7 @@ extern "C"
|
|
|
|
*
|
|
|
|
* ARGUMENTS
|
|
|
|
* osd The xosd "object".
|
|
|
|
- * timeout The number of seconds before the display is hidden.
|
|
|
|
+ * timeout The number of milliseconds before the display is hidden.
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
* 0 on success
|
2012-11-10 18:30:22 +01:00
|
|
|
--- a/src/libxosd/xosd.c
|
|
|
|
+++ b/src/libxosd/xosd.c
|
2012-11-10 13:08:00 +01:00
|
|
|
@@ -402,15 +402,13 @@ event_loop(void *osdv)
|
|
|
|
}
|
|
|
|
/* Calculate timeout delta or hide display. */
|
|
|
|
if (timerisset(&osd->timeout_start)) {
|
|
|
|
+ struct timeval timo;
|
|
|
|
+ timo.tv_sec = osd->timeout / 1000,
|
|
|
|
+ timo.tv_usec = (osd->timeout % 1000) * 1000,
|
|
|
|
gettimeofday(&tv, NULL);
|
|
|
|
- tv.tv_sec -= osd->timeout;
|
|
|
|
+ timersub(&tv, &timo, &tv);
|
|
|
|
if (timercmp(&tv, &osd->timeout_start, <)) {
|
|
|
|
- tv.tv_sec = osd->timeout_start.tv_sec - tv.tv_sec;
|
|
|
|
- tv.tv_usec = osd->timeout_start.tv_usec - tv.tv_usec;
|
|
|
|
- if (tv.tv_usec < 0) {
|
|
|
|
- tv.tv_usec += 1000000;
|
|
|
|
- tv.tv_sec -= 1;
|
|
|
|
- }
|
|
|
|
+ timersub(&osd->timeout_start, &tv, &tv);
|
|
|
|
tvp = &tv;
|
|
|
|
} else {
|
|
|
|
timerclear(&osd->timeout_start);
|
2012-11-10 18:30:22 +01:00
|
|
|
--- a/src/osd_cat.c
|
|
|
|
+++ b/src/osd_cat.c
|
2012-11-10 13:08:00 +01:00
|
|
|
@@ -53,7 +53,7 @@ int percentage = 50;
|
|
|
|
int outline_offset = 0;
|
|
|
|
char *outline_colour = NULL;
|
|
|
|
char *shadow_colour = NULL;
|
|
|
|
-int delay = 5;
|
|
|
|
+int delay = 5000;
|
|
|
|
int forcewait = 0;
|
|
|
|
xosd_pos pos = XOSD_top;
|
|
|
|
int voffset = 0;
|
2012-11-10 18:30:22 +01:00
|
|
|
--- a/man/osd_cat.1
|
|
|
|
+++ b/man/osd_cat.1
|
2012-11-10 13:08:00 +01:00
|
|
|
@@ -37,7 +37,7 @@ This option specifies the \fIFONT\fP to
|
|
|
|
This option specifies the \fICOLOR\fP to be used for displaying the text. The default is \fBred\fP.
|
|
|
|
.TP
|
|
|
|
\fB\-d\fP, \fB\-\-delay\fP=\fITIME\fP
|
|
|
|
-This option specifies the number of seconds the text is displayed. The default is \fB5\fP seconds.
|
|
|
|
+This option specifies the number of milliseconds the text is displayed. The default is \fB5000\fP.
|
|
|
|
.TP
|
|
|
|
\fB\-l\fP, \fB\-\-lines\fP=\fILINES\fP
|
|
|
|
This option specifies the number of \fILINES\fP to scroll the display over. The default is \fB5\fP.
|
2012-11-10 18:30:22 +01:00
|
|
|
--- a/src/xmms_plugin/xmms_osd.c
|
|
|
|
+++ b/src/xmms_plugin/xmms_osd.c
|
2012-11-10 13:08:00 +01:00
|
|
|
@@ -260,7 +260,7 @@ apply_config(void)
|
|
|
|
DEBUG("invalid font %s", font);
|
|
|
|
|
|
|
|
xosd_set_colour(osd, colour);
|
|
|
|
- xosd_set_timeout(osd, timeout);
|
|
|
|
+ xosd_set_timeout(osd, timeout * 1000);
|
|
|
|
xosd_set_shadow_offset(osd, shadow_offset);
|
|
|
|
xosd_set_outline_offset(osd, outline_offset);
|
|
|
|
xosd_set_pos(osd, pos);
|