redshift: Be less verbose when color values did not change
This keeps a copy of the previous color_setting_t in the loop so that we can avoid printing the color temperature and brightness if they did not change.
This commit is contained in:
+20
-2
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user