diff options
| author | Gereon Kremer | 2013-01-05 12:47:02 +0100 | 
|---|---|---|
| committer | Michael Stapelberg | 2013-01-08 22:02:03 +0100 | 
| commit | 11757b8105ebebba40c3a94c5d6c5431cc58b3d1 (patch) | |
| tree | 390608f8a2e50f8b06dfd193686c46b380e5a57f | |
| parent | changing volume color from bad to degraded if muted (diff) | |
make refreshs align with minutes
| -rw-r--r-- | i3status.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| @@ -515,10 +515,11 @@ int main(int argc, char *argv[]) {                  /* To provide updates on every full second (as good as possible)                   * we don’t use sleep(interval) but we sleep until the next                   * second (with microsecond precision) plus (interval-1) -                 * seconds. */ +                 * seconds. We also align to 60 seconds modulo interval such +                 * that we start with :00 on every new minute. */                  struct timeval current_timeval;                  gettimeofday(¤t_timeval, NULL); -                struct timespec ts = {interval - 1, (10e5 - current_timeval.tv_usec) * 1000}; +                struct timespec ts = {interval - 1 - (current_timeval.tv_sec % interval), (10e5 - current_timeval.tv_usec) * 1000};                  nanosleep(&ts, NULL);          }  } | 
