summaryrefslogtreecommitdiffstats
path: root/Settings.c
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2014-11-27 18:38:52 -0200
committerHisham Muhammad <hisham@gobolinux.org>2014-11-27 18:38:52 -0200
commitb192af006f67369881bfc92c963f3d594e71fe0c (patch)
tree561e543ee95e39101baf87c52508b7a355741ce4 /Settings.c
parentcda6bdd56b54f4ab9da15e559edce9591ef12ce1 (diff)
Decouple Header from Meter classes.
(Yes, that's dynamic typing!)
Diffstat (limited to 'Settings.c')
-rw-r--r--Settings.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/Settings.c b/Settings.c
index cd9e6c13..1dc8b1b2 100644
--- a/Settings.c
+++ b/Settings.c
@@ -61,6 +61,23 @@ static void Settings_readMeterModes(Settings* this, char* line, HeaderSide side)
String_freeArray(ids);
}
+static void Settings_defaultMeters(Header* header, int cpuCount) {
+ if (cpuCount > 8) {
+ Header_createMeter(header, "LeftCPUs2", LEFT_HEADER);
+ Header_createMeter(header, "RightCPUs2", RIGHT_HEADER);
+ } else if (cpuCount > 4) {
+ Header_createMeter(header, "LeftCPUs", LEFT_HEADER);
+ Header_createMeter(header, "RightCPUs", RIGHT_HEADER);
+ } else {
+ Header_createMeter(header, "AllCPUs", LEFT_HEADER);
+ }
+ Header_createMeter(header, "Memory", LEFT_HEADER);
+ Header_createMeter(header, "Swap", LEFT_HEADER);
+ Header_createMeter(header, "Tasks", RIGHT_HEADER);
+ Header_createMeter(header, "LoadAverage", RIGHT_HEADER);
+ Header_createMeter(header, "Uptime", RIGHT_HEADER);
+}
+
static bool Settings_read(Settings* this, const char* fileName, int cpuCount) {
FILE* fd = fopen(fileName, "r");
if (!fd)
@@ -153,7 +170,7 @@ static bool Settings_read(Settings* this, const char* fileName, int cpuCount) {
}
fclose(fd);
if (!readMeters) {
- Header_defaultMeters(this->header, cpuCount);
+ Settings_defaultMeters(this->header, cpuCount);
}
return true;
}
@@ -273,7 +290,7 @@ Settings* Settings_new(ProcessList* pl, Header* header, int cpuCount) {
ok = Settings_read(this, systemSettings, cpuCount);
free(systemSettings);
if (!ok) {
- Header_defaultMeters(this->header, cpuCount);
+ Settings_defaultMeters(this->header, cpuCount);
pl->hideKernelThreads = true;
pl->highlightMegabytes = true;
pl->highlightThreads = false;

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