From e74c08a052a17126ff8cd5f8c193c333dfdfc8eb Mon Sep 17 00:00:00 2001 From: marschap Date: Sat, 18 Feb 2006 21:52:28 +0000 Subject: [PATCH] more cleanup to lcdproc client --- clients/lcdproc/main.c | 37 +++++++++++++-------- clients/lcdproc/main.h | 1 + clients/lcdproc/mode.c | 73 ++---------------------------------------- 3 files changed, 26 insertions(+), 85 deletions(-) diff --git a/clients/lcdproc/main.c b/clients/lcdproc/main.c index 89a7e4b..6e59ddd 100644 --- a/clients/lcdproc/main.c +++ b/clients/lcdproc/main.c @@ -22,6 +22,15 @@ #include "shared/sockets.h" #include "shared/debug.h" +#include "batt.h" +#include "chrono.h" +#include "cpu.h" +#include "cpu_smp.h" +#include "disk.h" +#include "load.h" +#include "mem.h" +#include "machine.h" + // TODO: Commenting... Everything! int Quit = 0; @@ -55,20 +64,20 @@ mode sequence[] = { // flags default ACTIVE will run by default // longname which on off inv timer flags - { "CPU", 'C', 1, 2, 0, 0xffff, ACTIVE,}, // [C]PU - { "Memory", 'M', 4, 16, 0, 0xffff, ACTIVE,}, // [M]emory - { "Load", 'L', 64, 128, 1, 0xffff, ACTIVE,}, // [L]oad (load histogram) - { "TimeDate", 'T', 4, 64, 0, 0xffff, ACTIVE,}, // [T]ime/Date - { "About", 'A', 999, 9999, 0, 0xffff, ACTIVE,}, // [A]bout (credits) - { "SMP-CPU", 'P', 1, 2, 0, 0xffff, 0,}, // CPU_SM[P] - { "OldTime", 'O', 4, 64, 0, 0xffff, 0,}, // [O]ld Timescreen - { "BigClock", 'K', 4, 64, 0, 0xffff, 0,}, // big cloc[K] - { "Uptime", 'U', 4, 128, 0, 0xffff, 0,}, // Old [U]ptime Screen - { "Battery", 'B', 32, 256, 1, 0xffff, 0,}, // [B]attery Status - { "CPUGraph", 'G', 1, 2, 0, 0xffff, 0,}, // CPU histogram [G]raph - { "ProcSize", 'S', 16, 256, 1, 0xffff, 0,}, // [S]ize of biggest processes - { "Disk", 'D', 256, 256, 1, 0xffff, 0,}, // [D]isk stats - { "MiniClock", 'N', 4, 64, 0, 0xffff, 0,}, // Mi[n]i clock + { "CPU", 'C', 1, 2, 0, 0xffff, ACTIVE, cpu_screen }, // [C]PU + { "Memory", 'M', 4, 16, 0, 0xffff, ACTIVE, mem_screen }, // [M]emory + { "Load", 'L', 64, 128, 1, 0xffff, ACTIVE, xload_screen }, // [L]oad (load histogram) + { "TimeDate", 'T', 4, 64, 0, 0xffff, ACTIVE, time_screen }, // [T]ime/Date + { "About", 'A', 999, 9999, 0, 0xffff, ACTIVE, credit_screen }, // [A]bout (credits) + { "SMP-CPU", 'P', 1, 2, 0, 0xffff, 0, cpu_smp_screen }, // CPU_SM[P] + { "OldTime", 'O', 4, 64, 0, 0xffff, 0, clock_screen }, // [O]ld Timescreen + { "BigClock", 'K', 4, 64, 0, 0xffff, 0, big_clock_screen }, // big cloc[K] + { "Uptime", 'U', 4, 128, 0, 0xffff, 0, uptime_screen }, // Old [U]ptime Screen + { "Battery", 'B', 32, 256, 1, 0xffff, 0, battery_screen }, // [B]attery Status + { "CPUGraph", 'G', 1, 2, 0, 0xffff, 0, cpu_graph_screen }, // CPU histogram [G]raph + { "ProcSize", 'S', 16, 256, 1, 0xffff, 0, mem_top_screen }, // [S]ize of biggest processes + { "Disk", 'D', 256, 256, 1, 0xffff, 0, disk_screen }, // [D]isk stats + { "MiniClock", 'N', 4, 64, 0, 0xffff, 0, mini_clock_screen }, // Mi[n]i clock { NULL, 0, 0, 0, 0, 0,}, // No more.. all done. }; diff --git a/clients/lcdproc/main.h b/clients/lcdproc/main.h index c6110c6..646136a 100644 --- a/clients/lcdproc/main.h +++ b/clients/lcdproc/main.h @@ -39,6 +39,7 @@ typedef struct mode int show_invisible; // Send stats while not visible? int timer; // Time since last update int flags; // bit 1 visible, bit 2 selected for display, bit 3 first + int (*func)(int,int,int *) // function pointer } mode; //mode flags diff --git a/clients/lcdproc/mode.c b/clients/lcdproc/mode.c index 6881eb9..bf32d93 100644 --- a/clients/lcdproc/mode.c +++ b/clients/lcdproc/mode.c @@ -18,14 +18,6 @@ #include "mode.h" #include "main.h" - -#include "batt.h" -#include "chrono.h" -#include "cpu.h" -#include "cpu_smp.h" -#include "disk.h" -#include "load.h" -#include "mem.h" #include "machine.h" // TODO: Clean this up... Support multiple display sizes.. @@ -73,69 +65,8 @@ update_screen(mode *m, int display) static int status = -1; int old_status = status; - if (m) - { - switch(m->which) - { - case 'g': - case 'G': - status = cpu_graph_screen(m->timer, display, &(m->flags)); - break; - case 'c': - case 'C': - status = cpu_screen(m->timer, display, &(m->flags)); - break; - case 'o': - case 'O': - status = clock_screen(m->timer, display, &(m->flags)); - break; - case 'k': - case 'K': - status = big_clock_screen(m->timer, display, &(m->flags)); - break; - case 'm': - case 'M': - status = mem_screen(m->timer, display, &(m->flags)); - break; - case 's': - case 'S': - status = mem_top_screen(m->timer, display, &(m->flags)); - break; - case 'u': - case 'U': - status = uptime_screen(m->timer, display, &(m->flags)); - break; - case 't': - case 'T': - status = time_screen(m->timer, display, &(m->flags)); - break; - case 'd': - case 'D': - status = disk_screen(m->timer, display, &(m->flags)); - break; - case 'l': - case 'L': - status = xload_screen(m->timer, display, &(m->flags)); - break; - case 'b': - case 'B': - status = battery_screen(m->timer, display, &(m->flags)); - break; - case 'a': - case 'A': - status = credit_screen(m->timer, display, &(m->flags)); - break; - case 'p': - case 'P': - status = cpu_smp_screen(m->timer, display, &(m->flags)); - break; - case 'n': - case 'N': - status = mini_clock_screen(m->timer, display, &(m->flags)); - break; - default: - break; - } + if (m && m->func) { + status = m->func(m->timer, display, &(m->flags)); } if (status != old_status)