From e8c6994f40c9c69089e9f80abb2f895d2e077c7e Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Thu, 17 Dec 2020 19:08:56 -0300 Subject: Add "Tree view is always sorted by PID" option to mimic htop 2 behavior --- ProcessList.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'ProcessList.c') diff --git a/ProcessList.c b/ProcessList.c index 78ec2b64..54b69184 100644 --- a/ProcessList.c +++ b/ProcessList.c @@ -82,7 +82,8 @@ void ProcessList_setPanel(ProcessList* this, Panel* panel) { void ProcessList_printHeader(ProcessList* this, RichString* header) { RichString_prune(header); - const ProcessField* fields = this->settings->fields; + const Settings* settings = this->settings; + const ProcessField* fields = settings->fields; for (int i = 0; fields[i]; i++) { const char* field = Process_fields[fields[i]].title; @@ -90,10 +91,17 @@ void ProcessList_printHeader(ProcessList* this, RichString* header) { field = "- "; } - int color = (this->settings->sortKey == fields[i]) ? - CRT_colors[PANEL_SELECTION_FOCUS] : CRT_colors[PANEL_HEADER_FOCUS]; + int color; + if (settings->treeView && settings->treeViewAlwaysByPID) { + color = CRT_colors[PANEL_HEADER_FOCUS]; + } else if (settings->sortKey == fields[i]) { + color = CRT_colors[PANEL_SELECTION_FOCUS]; + } else { + color = CRT_colors[PANEL_HEADER_FOCUS]; + } + RichString_appendWide(header, color, field); - if (COMM == fields[i] && this->settings->showMergedCommand) { + if (COMM == fields[i] && settings->showMergedCommand) { RichString_appendAscii(header, color, "(merged)"); } } -- cgit v1.2.3