summaryrefslogtreecommitdiffstats
path: root/ProcessList.c
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2020-12-17 19:08:56 -0300
committerBenBE <BenBE@geshi.org>2020-12-19 16:02:34 +0100
commite8c6994f40c9c69089e9f80abb2f895d2e077c7e (patch)
tree7e5078da157f8efba1b3d3b82c95fed6c3276f9c /ProcessList.c
parent3d1703f16faf5bd3c73976909e1b6e03061a7f72 (diff)
Add "Tree view is always sorted by PID" option to mimic htop 2 behavior
Diffstat (limited to 'ProcessList.c')
-rw-r--r--ProcessList.c16
1 files changed, 12 insertions, 4 deletions
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)");
}
}

© 2014-2024 Faster IT GmbH | imprint | privacy policy