summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Carbonneaux2014-08-27 13:50:56 -0400
committerQuentin Carbonneaux2014-08-27 13:50:56 -0400
commit5858ef8365b73446273f0abc5778255ca31197b9 (patch)
tree995d4ab0e74b490a8710bd738785e823c99dbf5f
parentba878735c664c31e065a1345331a6c40744cfe75 (diff)
be more energy efficient
-rw-r--r--main.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/main.c b/main.c
index 184fff9..d6b06c7 100644
--- a/main.c
+++ b/main.c
@@ -12,7 +12,7 @@
#include "gui.h"
#include "win.h"
-enum { RedrawTime = 15 /* in milliseconds */ };
+enum { RedrawDelay = 15 /* in milliseconds */ };
W *curwin;
int scrolling;
@@ -30,11 +30,9 @@ die(char *m)
static void
redraw()
{
- if (needsredraw) {
- win_redraw_frame();
- needsredraw = 0;
- }
- ev_alarm(RedrawTime, redraw);
+ assert(needsredraw);
+ win_redraw_frame();
+ needsredraw = 0;
}
static int
@@ -114,7 +112,10 @@ gev(int fd, int flag, void *unused)
curwin->cu = pos;
curwin->rev = 0;
}
- needsredraw = 1;
+ if (!needsredraw) {
+ ev_alarm(RedrawDelay, redraw);
+ needsredraw = 1;
+ }
return 0;
}
@@ -132,7 +133,6 @@ main(int ac, char *av[])
if (ac > 1)
ex_get(eb, av[1]);
curwin = win_new(eb);
- ev_alarm(RedrawTime, redraw);
gev(0, ERead, 0);
ev_loop();
}