diff options
author | norly <ny-git@enpas.org> | 2013-02-15 03:21:26 +0000 |
---|---|---|
committer | norly <ny-git@enpas.org> | 2013-02-15 03:21:26 +0000 |
commit | 69497249f2f423b50b3385a83da3ac9a418166c9 (patch) | |
tree | ef4988bd7a59129f8aeb709c4fc9a9dced450bdc /src/sysstatus.c | |
parent | 430ce2a8749eb90ca0f8cdf18f5b217128c43e79 (diff) |
Simple output gathering design
Buffer all output up using snprintf() before printing an entire line
at once. Modularizes the output format so alternatives to dzen2
can be used.
ALSA volume status loses clickability.
Diffstat (limited to 'src/sysstatus.c')
-rw-r--r-- | src/sysstatus.c | 61 |
1 files changed, 34 insertions, 27 deletions
diff --git a/src/sysstatus.c b/src/sysstatus.c index bbc945b..cc11c11 100644 --- a/src/sysstatus.c +++ b/src/sysstatus.c @@ -1,49 +1,56 @@ #include <stdio.h> #include <stdlib.h> +#include "common.h" #include "config.h" -#include "status/battery.h" -#include "status/cpuusage.h" -#include "status/datetime.h" -#include "status/fan.h" -#include "status/memusage.h" -#include "status/netif.h" -#include "status/volume_alsa.h" -#include "status/temp.h" -#include "status/uptime.h" +#include "statuses.h" + + +static char outline[1024]; + +static GlobalData gd = { + .line = outline, + .linemax = sizeof(outline), +}; void updatestatus() { - //status_uptime(); + GlobalData *g = &gd; + - status_cpuusage(); + line_clear(g); - status_battery("BAT0"); - status_battery("BAT1"); + //status_uptime(g); - status_memusage(); + status_cpuusage(g); - status_netif("eth0"); - //status_netif("eth1"); - //status_netif("eth2"); - status_netif("wlan0"); - //status_netif("wlan1"); - status_netif("wlan2"); - //status_netif("usb0"); - status_netif("ppp0"); + status_battery(g, "BAT0"); + status_battery(g, "BAT1"); + + status_memusage(g); + + status_netif(g, "eth0"); + //status_netif(g, "eth1"); + //status_netif(g, "eth2"); + status_netif(g, "wlan0"); + //status_netif(g, "wlan1"); + status_netif(g, "wlan2"); + //status_netif(g, "usb0"); + status_netif(g, "ppp0"); //status_temp("GPU: ", "/sys/class/hwmon/hwmon0/device/temp4_input"); //status_temp("CPU: ", "/sys/class/hwmon/hwmon0/device/temp2_input"); - status_temp("CPU: ", "/sys/devices/platform/coretemp.0/temp1_input"); + status_temp(g, "CPU: ", "/sys/devices/platform/coretemp.0/temp1_input"); + + status_fan(g, "Fan: ", "/sys/devices/platform/thinkpad_hwmon/fan1_input"); - status_fan("Fan: ", "/sys/devices/platform/thinkpad_hwmon/fan1_input"); + status_volume_alsa(g, "default", "Master", 0); - status_volume_alsa("default", "Master", 0); + status_datetime(g); - status_datetime(); + line_print(g); - fputs("\n", stdout); fflush(stdout); } |