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 /Process.c | |
parent | ece89b8df0db61b8caaf53679afbe00e1c2ef22f (diff) |
Add support for multiple screens, switchable using Tab
Diffstat (limited to 'Process.c')
-rw-r--r-- | Process.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -393,7 +393,8 @@ void Process_writeField(Process* this, RichString* str, ProcessField field) { attr = CRT_colors[PROCESS_THREAD]; baseattr = CRT_colors[PROCESS_THREAD_BASENAME]; } - if (!this->settings->treeView || this->indent == 0) { + ScreenSettings* ss = this->settings->ss; + if (!ss->treeView || this->indent == 0) { Process_writeCommand(this, attr, baseattr, str); return; } else { @@ -414,7 +415,7 @@ void Process_writeField(Process* this, RichString* str, ProcessField field) { buf += written; n -= written; } - const char* draw = CRT_treeStr[lastItem ? (this->settings->direction == 1 ? TREE_STR_BEND : TREE_STR_TEND) : TREE_STR_RTEE]; + const char* draw = CRT_treeStr[lastItem ? (ss->direction == 1 ? TREE_STR_BEND : TREE_STR_TEND) : TREE_STR_RTEE]; xSnprintf(buf, n, "%s%s ", draw, this->showChildren ? CRT_treeStr[TREE_STR_SHUT] : CRT_treeStr[TREE_STR_OPEN] ); RichString_append(str, CRT_colors[PROCESS_TREE], buffer); Process_writeCommand(this, attr, baseattr, str); @@ -485,7 +486,7 @@ void Process_writeField(Process* this, RichString* str, ProcessField field) { void Process_display(Object* cast, RichString* out) { Process* this = (Process*) cast; - ProcessField* fields = this->settings->fields; + ProcessField* fields = this->settings->ss->fields; RichString_prune(out); for (int i = 0; fields[i]; i++) As_Process(this)->writeField(this, out, fields[i]); @@ -555,14 +556,15 @@ long Process_pidCompare(const void* v1, const void* v2) { long Process_compare(const void* v1, const void* v2) { Process *p1, *p2; Settings *settings = ((Process*)v1)->settings; - if (settings->direction == 1) { + ScreenSettings* ss = settings->ss; + if (ss->direction == 1) { p1 = (Process*)v1; p2 = (Process*)v2; } else { p2 = (Process*)v1; p1 = (Process*)v2; } - switch (settings->sortKey) { + switch (ss->sortKey) { case PERCENT_CPU: return (p2->percent_cpu > p1->percent_cpu ? 1 : -1); case PERCENT_MEM: |