diff --git a/CRT.c b/CRT.c index 9565e10a..acf21bb6 100644 --- a/CRT.c +++ b/CRT.c @@ -118,6 +118,7 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = { [UPTIME] = A_BOLD | ColorPair(Cyan, Black), [BATTERY] = A_BOLD | ColorPair(Cyan, Black), [LARGE_NUMBER] = A_BOLD | ColorPair(Red, Black), + [METER_SHADOW] = A_BOLD | ColorPairGrayBlack, [METER_TEXT] = ColorPair(Cyan, Black), [METER_VALUE] = A_BOLD | ColorPair(Cyan, Black), [METER_VALUE_ERROR] = A_BOLD | ColorPair(Red, Black), @@ -209,6 +210,7 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = { [UPTIME] = A_BOLD, [BATTERY] = A_BOLD, [LARGE_NUMBER] = A_BOLD, + [METER_SHADOW] = A_DIM, [METER_TEXT] = A_NORMAL, [METER_VALUE] = A_BOLD, [METER_VALUE_ERROR] = A_BOLD, @@ -300,6 +302,7 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = { [UPTIME] = ColorPair(Yellow, White), [BATTERY] = ColorPair(Yellow, White), [LARGE_NUMBER] = ColorPair(Red, White), + [METER_SHADOW] = ColorPair(Blue, White), [METER_TEXT] = ColorPair(Blue, White), [METER_VALUE] = ColorPair(Black, White), [METER_VALUE_ERROR] = A_BOLD | ColorPair(Red, White), @@ -391,6 +394,7 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = { [UPTIME] = ColorPair(Yellow, Black), [BATTERY] = ColorPair(Yellow, Black), [LARGE_NUMBER] = ColorPair(Red, Black), + [METER_SHADOW] = A_BOLD | ColorPairGrayBlack, [METER_TEXT] = ColorPair(Blue, Black), [METER_VALUE] = ColorPair(Black, Black), [METER_VALUE_ERROR] = A_BOLD | ColorPair(Red, Black), @@ -482,6 +486,7 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = { [UPTIME] = A_BOLD | ColorPair(Yellow, Blue), [BATTERY] = A_BOLD | ColorPair(Yellow, Blue), [LARGE_NUMBER] = A_BOLD | ColorPair(Red, Blue), + [METER_SHADOW] = ColorPair(Cyan, Blue), [METER_TEXT] = ColorPair(Cyan, Blue), [METER_VALUE] = A_BOLD | ColorPair(Cyan, Blue), [METER_VALUE_ERROR] = A_BOLD | ColorPair(Red, Blue), @@ -573,6 +578,7 @@ static int CRT_colorSchemes[LAST_COLORSCHEME][LAST_COLORELEMENT] = { [UPTIME] = ColorPair(Green, Black), [BATTERY] = ColorPair(Green, Black), [LARGE_NUMBER] = A_BOLD | ColorPair(Red, Black), + [METER_SHADOW] = A_BOLD | ColorPairGrayBlack, [METER_TEXT] = ColorPair(Cyan, Black), [METER_VALUE] = ColorPair(Green, Black), [METER_VALUE_ERROR] = A_BOLD | ColorPair(Red, Black), diff --git a/CRT.h b/CRT.h index 652649e1..92357528 100644 --- a/CRT.h +++ b/CRT.h @@ -53,6 +53,7 @@ typedef enum ColorElements_ { PANEL_SELECTION_FOLLOW, PANEL_SELECTION_UNFOCUS, LARGE_NUMBER, + METER_SHADOW, METER_TEXT, METER_VALUE, METER_VALUE_ERROR, diff --git a/TasksMeter.c b/TasksMeter.c index 7b649b0c..9c6b9cd8 100644 --- a/TasksMeter.c +++ b/TasksMeter.c @@ -29,12 +29,8 @@ static void TasksMeter_updateValues(Meter* this) { this->values[1] = pl->userlandThreads; this->values[2] = pl->totalTasks - pl->kernelThreads - pl->userlandThreads; this->values[3] = MINIMUM(pl->runningTasks, pl->cpuCount); - if (pl->totalTasks > this->total) { - this->total = pl->totalTasks; - } - if (pl->settings->hideKernelThreads) { - this->values[0] = 0; - } + this->total = pl->totalTasks; + xSnprintf(this->txtBuffer, sizeof(this->txtBuffer), "%d/%d", (int) this->values[3], (int) this->total); } @@ -43,28 +39,19 @@ static void TasksMeter_display(const Object* cast, RichString* out) { const Settings* settings = this->pl->settings; char buffer[20]; - int processes = (int) this->values[2]; - - xSnprintf(buffer, sizeof(buffer), "%d", processes); + xSnprintf(buffer, sizeof(buffer), "%d", (int)this->values[2]); RichString_writeAscii(out, CRT_colors[METER_VALUE], buffer); - int threadValueColor = CRT_colors[METER_VALUE]; - int threadCaptionColor = CRT_colors[METER_TEXT]; - if (settings->highlightThreads) { - threadValueColor = CRT_colors[PROCESS_THREAD_BASENAME]; - threadCaptionColor = CRT_colors[PROCESS_THREAD]; - } - if (!settings->hideUserlandThreads) { - RichString_appendAscii(out, CRT_colors[METER_TEXT], ", "); - xSnprintf(buffer, sizeof(buffer), "%d", (int)this->values[1]); - RichString_appendAscii(out, threadValueColor, buffer); - RichString_appendAscii(out, threadCaptionColor, " thr"); - } - if (!settings->hideKernelThreads) { - RichString_appendAscii(out, CRT_colors[METER_TEXT], ", "); - xSnprintf(buffer, sizeof(buffer), "%d", (int)this->values[0]); - RichString_appendAscii(out, threadValueColor, buffer); - RichString_appendAscii(out, threadCaptionColor, " kthr"); - } + + RichString_appendAscii(out, settings->hideUserlandThreads ? CRT_colors[METER_SHADOW] : CRT_colors[METER_TEXT], ", "); + xSnprintf(buffer, sizeof(buffer), "%d", (int)this->values[1]); + RichString_appendAscii(out, settings->hideUserlandThreads ? CRT_colors[METER_SHADOW] : CRT_colors[TASKS_RUNNING], buffer); + RichString_appendAscii(out, settings->hideUserlandThreads ? CRT_colors[METER_SHADOW] : CRT_colors[METER_TEXT], " thr"); + + RichString_appendAscii(out, settings->hideKernelThreads ? CRT_colors[METER_SHADOW] : CRT_colors[METER_TEXT], ", "); + xSnprintf(buffer, sizeof(buffer), "%d", (int)this->values[0]); + RichString_appendAscii(out, settings->hideKernelThreads ? CRT_colors[METER_SHADOW] : CRT_colors[TASKS_RUNNING], buffer); + RichString_appendAscii(out, settings->hideKernelThreads ? CRT_colors[METER_SHADOW] : CRT_colors[METER_TEXT], " kthr"); + RichString_appendAscii(out, CRT_colors[METER_TEXT], "; "); xSnprintf(buffer, sizeof(buffer), "%d", (int)this->values[3]); RichString_appendAscii(out, CRT_colors[TASKS_RUNNING], buffer);