diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2018-01-28 04:09:06 -0200 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2018-02-17 15:30:15 -0200 |
commit | 187a035a769fb490318091fee2b0051d9b188ad5 (patch) | |
tree | ad74fe0bfe51adb320f2f2bbb8ce45fcd335f960 /ProcessList.c | |
parent | ece89b8df0db61b8caaf53679afbe00e1c2ef22f (diff) |
Add support for multiple screens, switchable using Tab
Diffstat (limited to 'ProcessList.c')
-rw-r--r-- | ProcessList.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/ProcessList.c b/ProcessList.c index 48b2d955..5b6a98f3 100644 --- a/ProcessList.c +++ b/ProcessList.c @@ -124,14 +124,15 @@ void ProcessList_setPanel(ProcessList* this, Panel* panel) { void ProcessList_printHeader(ProcessList* this, RichString* header) { RichString_prune(header); - ProcessField* fields = this->settings->fields; + ProcessField* fields = this->settings->ss->fields; for (int i = 0; fields[i]; i++) { - const char* field = Process_fields[fields[i]].title; + unsigned int key = fields[i]; + const char* field = Process_fields[key].title; if (!field) field = "- "; - if (!this->settings->treeView && this->settings->sortKey == fields[i]) - RichString_append(header, CRT_colors[PANEL_SELECTION_FOCUS], field); - else - RichString_append(header, CRT_colors[PANEL_HEADER_FOCUS], field); + int color = (!this->settings->ss->treeView && this->settings->ss->sortKey == key) + ? CRT_colors[PANEL_SELECTION_FOCUS] + : CRT_colors[PANEL_HEADER_FOCUS]; + RichString_append(header, color, field); } } @@ -200,19 +201,19 @@ static void ProcessList_buildTree(ProcessList* this, pid_t pid, int level, int i } void ProcessList_sort(ProcessList* this) { - if (!this->settings->treeView) { + if (!this->settings->ss->treeView) { Vector_insertionSort(this->processes); } else { // Save settings - int direction = this->settings->direction; - int sortKey = this->settings->sortKey; + int direction = this->settings->ss->direction; + int sortKey = this->settings->ss->sortKey; // Sort by PID - this->settings->sortKey = PID; - this->settings->direction = 1; + this->settings->ss->sortKey = PID; + this->settings->ss->direction = 1; Vector_quickSort(this->processes); // Restore settings - this->settings->sortKey = sortKey; - this->settings->direction = direction; + this->settings->ss->sortKey = sortKey; + this->settings->ss->direction = direction; int vsize = Vector_size(this->processes); // Find all processes whose parent is not visible int size; @@ -271,7 +272,7 @@ void ProcessList_sort(ProcessList* this) { ProcessField ProcessList_keyAt(ProcessList* this, int at) { int x = 0; - ProcessField* fields = this->settings->fields; + ProcessField* fields = this->settings->ss->fields; ProcessField field; for (int i = 0; (field = fields[i]); i++) { const char* title = Process_fields[field].title; |