All timeouts in milliseconds
This commit is contained in:
parent
f52603b31a
commit
bd87ae9346
2
Makefile
2
Makefile
@ -1,6 +1,6 @@
|
||||
all: sxiv
|
||||
|
||||
VERSION = git-20110624
|
||||
VERSION = git-20110628
|
||||
|
||||
CC = gcc
|
||||
DESTDIR =
|
||||
|
18
main.c
18
main.c
@ -241,7 +241,7 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
filecnt = fileidx;
|
||||
fileidx = options->startnum < filecnt ? options->startnum : filecnt - 1;
|
||||
fileidx = options->startnum < filecnt ? options->startnum : 0;
|
||||
|
||||
win_init(&win);
|
||||
img_init(&img, &win);
|
||||
@ -327,10 +327,11 @@ int run_command(const char *cline, Bool reload) {
|
||||
|
||||
/* event handling */
|
||||
|
||||
#define TO_WIN_RESIZE 75000
|
||||
#define TO_IMAGE_DRAG 1000
|
||||
#define TO_CURSOR_HIDE 1500000
|
||||
#define TO_THUMBS_LOAD 75000
|
||||
/* timeouts in milliseconds: */
|
||||
#define TO_WIN_RESIZE 75
|
||||
#define TO_IMAGE_DRAG 1
|
||||
#define TO_CURSOR_HIDE 1500
|
||||
#define TO_THUMBS_LOAD 200
|
||||
|
||||
int timo_cursor;
|
||||
int timo_redraw;
|
||||
@ -723,7 +724,7 @@ void run() {
|
||||
else
|
||||
remove_file(tns.cnt, 0);
|
||||
gettimeofday(&t1, 0);
|
||||
if (TV_TO_DOUBLE(t1) - TV_TO_DOUBLE(t0) >= 0.25)
|
||||
if (TIMEDIFF(&t1, &t0) >= TO_THUMBS_LOAD)
|
||||
break;
|
||||
}
|
||||
if (tns.cnt == filecnt)
|
||||
@ -742,8 +743,7 @@ void run() {
|
||||
timeout = timo_cursor;
|
||||
else
|
||||
timeout = timo_redraw;
|
||||
tt.tv_sec = timeout / 1000000;
|
||||
tt.tv_usec = timeout % 1000000;
|
||||
MSEC_TO_TIMEVAL(timeout, &tt);
|
||||
xfd = ConnectionNumber(win.env.dpy);
|
||||
FD_ZERO(&fds);
|
||||
FD_SET(xfd, &fds);
|
||||
@ -751,7 +751,7 @@ void run() {
|
||||
if (!XPending(win.env.dpy))
|
||||
select(xfd + 1, &fds, 0, 0, &tt);
|
||||
gettimeofday(&t1, 0);
|
||||
timeout = MIN((TV_TO_DOUBLE(t1) - TV_TO_DOUBLE(t0)) * 1000000, timeout);
|
||||
timeout = MIN(TIMEDIFF(&t1, &t0), timeout);
|
||||
|
||||
/* timeouts fired? */
|
||||
if (timo_cursor) {
|
||||
|
17
util.h
17
util.h
@ -28,14 +28,21 @@
|
||||
#define MAX(a,b) ((a) > (b) ? (a) : (b))
|
||||
#define LEN(a) (sizeof(a) / sizeof(a[0]))
|
||||
|
||||
#define TV_TO_DOUBLE(x) ((double) ((x).tv_sec) + 0.000001 * \
|
||||
(double) ((x).tv_usec))
|
||||
#define TIMEDIFF(t1,t2) (((t1)->tv_sec - (t2)->tv_sec) * 1000 + \
|
||||
((t1)->tv_usec - (t2)->tv_usec) / 1000)
|
||||
|
||||
#define TIMESPEC_TO_TIMEVAL(tv, ts) { \
|
||||
(tv)->tv_sec = (ts)->tv_sec; \
|
||||
(tv)->tv_usec = (ts)->tv_nsec / 1000; \
|
||||
#define MSEC_TO_TIMEVAL(t,tv) { \
|
||||
(tv)->tv_sec = (t) / 1000; \
|
||||
(tv)->tv_usec = (t) % 1000 * 1000; \
|
||||
}
|
||||
|
||||
#ifndef TIMESPEC_TO_TIMEVAL
|
||||
#define TIMESPEC_TO_TIMEVAL(tv,ts) { \
|
||||
(tv)->tv_sec = (ts)->tv_sec; \
|
||||
(tv)->tv_usec = (ts)->tv_nsec / 1000; \
|
||||
}
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
DIR *dir;
|
||||
char *name;
|
||||
|
Loading…
Reference in New Issue
Block a user