From 1d5e6a27a05ed44e6364a5b14c925503f8604a1f Mon Sep 17 00:00:00 2001 From: Arnavion Date: Sat, 10 Aug 2019 11:20:21 -0700 Subject: Add a display option to hide CPU usage number from CPU meter. --- CPUMeter.c | 10 ++++++++-- DisplayOptionsPanel.c | 1 + Settings.c | 5 +++++ Settings.h | 1 + 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/CPUMeter.c b/CPUMeter.c index f9984ffa..ef01e0ff 100644 --- a/CPUMeter.c +++ b/CPUMeter.c @@ -76,9 +76,15 @@ static void CPUMeter_updateValues(Meter* this, char* buffer, int size) { cpuFrequency /= 1000; unit = 'G'; } - xSnprintf(buffer, size, "%5.1f%% %.3f%cHz", percent, cpuFrequency, unit); - } else { + if (this->pl->settings->showCPUUsage) { + xSnprintf(buffer, size, "%5.1f%% %.3f%cHz", percent, cpuFrequency, unit); + } else { + xSnprintf(buffer, size, "%.3f%cHz", cpuFrequency, unit); + } + } else if (this->pl->settings->showCPUUsage) { xSnprintf(buffer, size, "%5.1f%%", percent); + } else if (size > 0) { + buffer[0] = '\0'; } } diff --git a/DisplayOptionsPanel.c b/DisplayOptionsPanel.c index 0c741684..6c10eabe 100644 --- a/DisplayOptionsPanel.c +++ b/DisplayOptionsPanel.c @@ -97,6 +97,7 @@ DisplayOptionsPanel* DisplayOptionsPanel_new(Settings* settings, ScreenManager* Panel_add(super, (Object*) CheckItem_newByRef(xStrdup("Count CPUs from 0 instead of 1"), &(settings->countCPUsFromZero))); Panel_add(super, (Object*) CheckItem_newByRef(xStrdup("Update process names on every refresh"), &(settings->updateProcessNames))); Panel_add(super, (Object*) CheckItem_newByRef(xStrdup("Add guest time in CPU meter percentage"), &(settings->accountGuestInCPUMeter))); + Panel_add(super, (Object*) CheckItem_newByRef(xStrdup("Also show CPU percentage numerically"), &(settings->showCPUUsage))); Panel_add(super, (Object*) CheckItem_newByRef(xStrdup("Also show CPU frequency"), &(settings->showCPUFrequency))); return this; } diff --git a/Settings.c b/Settings.c index a268ff4d..b9535e6b 100644 --- a/Settings.c +++ b/Settings.c @@ -45,6 +45,7 @@ typedef struct Settings_ { bool countCPUsFromZero; bool detailedCPUTime; + bool showCPUUsage; bool showCPUFrequency; bool treeView; bool showProgramPath; @@ -224,6 +225,8 @@ static bool Settings_read(Settings* this, const char* fileName) { this->detailedCPUTime = atoi(option[1]); } else if (String_eq(option[0], "cpu_count_from_zero")) { this->countCPUsFromZero = atoi(option[1]); + } else if (String_eq(option[0], "show_cpu_usage")) { + this->showCPUUsage = atoi(option[1]); } else if (String_eq(option[0], "show_cpu_frequency")) { this->showCPUFrequency = atoi(option[1]); } else if (String_eq(option[0], "update_process_names")) { @@ -315,6 +318,7 @@ bool Settings_write(Settings* this) { fprintf(fd, "header_margin=%d\n", (int) this->headerMargin); fprintf(fd, "detailed_cpu_time=%d\n", (int) this->detailedCPUTime); fprintf(fd, "cpu_count_from_zero=%d\n", (int) this->countCPUsFromZero); + fprintf(fd, "show_cpu_usage=%d\n", (int) this->showCPUUsage); fprintf(fd, "show_cpu_frequency=%d\n", (int) this->showCPUFrequency); fprintf(fd, "update_process_names=%d\n", (int) this->updateProcessNames); fprintf(fd, "account_guest_in_cpu_meter=%d\n", (int) this->accountGuestInCPUMeter); @@ -344,6 +348,7 @@ Settings* Settings_new(int cpuCount) { this->highlightMegabytes = false; this->detailedCPUTime = false; this->countCPUsFromZero = false; + this->showCPUUsage = true; this->showCPUFrequency = false; this->updateProcessNames = false; this->cpuCount = cpuCount; diff --git a/Settings.h b/Settings.h index 54b15fce..0490faef 100644 --- a/Settings.h +++ b/Settings.h @@ -36,6 +36,7 @@ typedef struct Settings_ { bool countCPUsFromZero; bool detailedCPUTime; + bool showCPUUsage; bool showCPUFrequency; bool treeView; bool showProgramPath; -- cgit v1.2.3