diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2018-01-28 04:09:06 -0200 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2018-01-30 12:59:11 -0200 |
commit | 5beff29a3df7097cc4d256b27888ee730b1a45d0 (patch) | |
tree | cdc2d5f30e82db0f7415c2998bbb75cd5beba78f /Process.c | |
parent | d1219abc558141a96ea25aa1db1c2dd3171c5132 (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
@@ -391,7 +391,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 { @@ -412,7 +413,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); @@ -483,7 +484,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]); @@ -553,14 +554,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: |