summaryrefslogtreecommitdiffstats
path: root/Header.c
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2011-03-22 20:37:08 +0000
committerHisham Muhammad <hisham@gobolinux.org>2011-03-22 20:37:08 +0000
commita9c0ea375323a3f801636f95a76afd0fd1328c5d (patch)
tree6c8f551197bc53097e4ab2618ca20eb1fe0f0696 /Header.c
parentb56195663760d76ea61d9ed15121dd4a13fa68cd (diff)
* Option for counting CPUs from zero
(thanks to Sean Noonan) * Meters update in every screen (no longer halting while on Setup, etc.)
Diffstat (limited to 'Header.c')
-rw-r--r--Header.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/Header.c b/Header.c
index 998e9c64..253806f1 100644
--- a/Header.c
+++ b/Header.c
@@ -10,6 +10,7 @@ in the source distribution for its full text.
#include "debug.h"
#include <assert.h>
+#include <time.h>
/*{
@@ -34,7 +35,7 @@ typedef struct Header_ {
#endif
Header* Header_new(ProcessList* pl) {
- Header* this = malloc(sizeof(Header));
+ Header* this = calloc(sizeof(Header), 1);
this->leftMeters = Vector_new(METER_CLASS, true, DEFAULT_SIZE, NULL);
this->rightMeters = Vector_new(METER_CLASS, true, DEFAULT_SIZE, NULL);
this->margin = true;
@@ -132,7 +133,18 @@ void Header_defaultMeters(Header* this) {
Vector_add(this->rightMeters, Meter_new(this->pl, 0, &UptimeMeter));
}
-void Header_draw(Header* this) {
+void Header_reinit(Header* this) {
+ for (int i = 0; i < Vector_size(this->leftMeters); i++) {
+ Meter* meter = (Meter*) Vector_get(this->leftMeters, i);
+ meter->type->init(meter);
+ }
+ for (int i = 0; i < Vector_size(this->rightMeters); i++) {
+ Meter* meter = (Meter*) Vector_get(this->rightMeters, i);
+ meter->type->init(meter);
+ }
+}
+
+void Header_draw(const Header* this) {
int height = this->height;
int pad = this->pad;

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