Better file structure and build system
[sysstatus.git] / src / sysstatus.c
1 #include <stdio.h>
2 #include <stdlib.h>
3
4 #include "config.h"
5 #include "status/battery.h"
6 #include "status/cpuusage.h"
7 #include "status/datetime.h"
8 #include "status/fan.h"
9 #include "status/memusage.h"
10 #include "status/netif.h"
11 #include "status/volume_alsa.h"
12 #include "status/temp.h"
13 #include "status/uptime.h"
14
15
16 void updatestatus()
17 {
18   //status_uptime();
19
20   status_cpuusage();
21
22   status_battery("BAT0");
23   status_battery("BAT1");
24
25   status_memusage();
26
27   status_netif("eth0");
28   //status_netif("eth1");
29   //status_netif("eth2");
30   status_netif("wlan0");
31   //status_netif("wlan1");
32   status_netif("wlan2");
33   //status_netif("usb0");
34   status_netif("ppp0");
35
36   //status_temp("GPU: ", "/sys/class/hwmon/hwmon0/device/temp4_input");
37   //status_temp("CPU: ", "/sys/class/hwmon/hwmon0/device/temp2_input");
38   status_temp("CPU: ", "/sys/devices/platform/coretemp.0/temp1_input");
39
40   status_fan("Fan: ", "/sys/devices/platform/thinkpad_hwmon/fan1_input");
41
42   status_volume_alsa("default", "Master", 0);
43
44   status_datetime();
45
46   fputs("\n", stdout);
47   fflush(stdout);
48 }
49
50 int main()
51 {
52   struct timeval tv;
53
54   for(;;)
55   {
56     updatestatus();
57
58     tv.tv_sec = UPDATE_SECS;
59     tv.tv_usec = 0;
60
61     select(0, NULL, NULL, NULL, &tv);
62   }
63
64   return 0;
65 }