diff options
author | Hisham Muhammad <hisham@gobolinux.org> | 2011-03-22 20:37:08 +0000 |
---|---|---|
committer | Hisham Muhammad <hisham@gobolinux.org> | 2011-03-22 20:37:08 +0000 |
commit | a9c0ea375323a3f801636f95a76afd0fd1328c5d (patch) | |
tree | 6c8f551197bc53097e4ab2618ca20eb1fe0f0696 /Header.c | |
parent | b56195663760d76ea61d9ed15121dd4a13fa68cd (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.c | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -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; |