aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--st.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/st.c b/st.c
index 5095315..533fb0a 100644
--- a/st.c
+++ b/st.c
@@ -3496,8 +3496,15 @@ run(void) {
xev--;
if(!FD_ISSET(cmdfd, &rfd) && !FD_ISSET(xfd, &rfd)) {
if(blinkset) {
- drawtimeout.tv_usec = 1000 * \
- blinktimeout;
+ if(TIMEDIFF(now, lastblink) \
+ > blinktimeout) {
+ drawtimeout.tv_usec = 1;
+ } else {
+ drawtimeout.tv_usec = (1000 * \
+ (blinktimeout - \
+ TIMEDIFF(now,
+ lastblink)));
+ }
} else {
tv = NULL;
}