aboutsummaryrefslogtreecommitdiffstats
path: root/src/redshift.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/redshift.c')
-rw-r--r--src/redshift.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/redshift.c b/src/redshift.c
index 1c8723c..00bf9f9 100644
--- a/src/redshift.c
+++ b/src/redshift.c
@@ -1370,6 +1370,12 @@ main(int argc, char *argv[])
printf("Status: %s\n", "Enabled");
}
+ /* Save previous colors so we can avoid
+ printing status updates if the values
+ did not change. */
+ color_setting_t prev_interp =
+ { -1, { NAN, NAN, NAN }, NAN };
+
/* Continuously adjust color temperature */
int done = 0;
int disabled = 0;
@@ -1471,8 +1477,16 @@ main(int argc, char *argv[])
if (done && !short_trans_delta) break;
if (verbose) {
- printf(_("Color temperature: %uK\n"), interp.temperature);
- printf(_("Brightness: %.2f\n"), interp.brightness);
+ if (interp.temperature !=
+ prev_interp.temperature) {
+ printf(_("Color temperature: %uK\n"),
+ interp.temperature);
+ }
+ if (interp.brightness !=
+ prev_interp.brightness) {
+ printf(_("Brightness: %.2f\n"),
+ interp.brightness);
+ }
}
/* Adjust temperature */
@@ -1486,6 +1500,10 @@ main(int argc, char *argv[])
}
}
+ /* Save temperature as previous */
+ memcpy(&prev_interp, &interp,
+ sizeof(color_setting_t));
+
/* Sleep for 5 seconds or 0.1 second. */
#ifndef _WIN32
if (short_trans_delta) usleep(SLEEP_DURATION_SHORT*1000);