summaryrefslogtreecommitdiffstats
path: root/Process.c
diff options
context:
space:
mode:
authorAdam Saponara <as@php.net>2020-10-30 21:56:16 -0400
committerAdam Saponara <as@php.net>2020-10-30 21:56:16 -0400
commitdde71c6637905e1707bd1020c93e930f4b0a480b (patch)
treeef65023b640f292ac50a7e0db38babbb78ef8eea /Process.c
parentbbf01054bf943db4394027d77915f9625ebde81e (diff)
Highlight new and old processes (#74)
Diffstat (limited to 'Process.c')
-rw-r--r--Process.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/Process.c b/Process.c
index 842232f7..f78720a5 100644
--- a/Process.c
+++ b/Process.c
@@ -6,6 +6,7 @@ Released under the GNU GPLv2, see the COPYING file
in the source distribution for its full text.
*/
+
#include "config.h" // IWYU pragma: keep
#include "Process.h"
@@ -381,6 +382,12 @@ void Process_display(const Object* cast, RichString* out) {
RichString_setAttr(out, CRT_colors[PROCESS_SHADOW]);
if (this->tag == true)
RichString_setAttr(out, CRT_colors[PROCESS_TAG]);
+ if (this->settings->highlightChanges) {
+ if (Process_isNew(this))
+ out->highlightAttr = CRT_colors[PROCESS_NEW];
+ if (Process_isTomb(this))
+ out->highlightAttr = CRT_colors[PROCESS_TOMB];
+ }
assert(out->chlen > 0);
}
@@ -413,6 +420,16 @@ void Process_toggleTag(Process* this) {
this->tag = this->tag == true ? false : true;
}
+bool Process_isNew(const Process* this) {
+ if (this->processList && this->processList->scanTs >= this->seenTs)
+ return (this->processList->scanTs - this->seenTs <= this->processList->settings->highlightDelaySecs);
+ return false;
+}
+
+bool Process_isTomb(const Process* this) {
+ return (this->tombTs > 0);
+}
+
bool Process_setPriority(Process* this, int priority) {
CRT_dropPrivileges();
int old_prio = getpriority(PRIO_PROCESS, this->pid);

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