summaryrefslogtreecommitdiff
path: root/src/sysstatus.c
diff options
context:
space:
mode:
authornorly <ny-git@enpas.org>2013-02-15 03:21:26 +0000
committernorly <ny-git@enpas.org>2013-02-15 03:21:26 +0000
commit69497249f2f423b50b3385a83da3ac9a418166c9 (patch)
treeef4988bd7a59129f8aeb709c4fc9a9dced450bdc /src/sysstatus.c
parent430ce2a8749eb90ca0f8cdf18f5b217128c43e79 (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.c61
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);
}