summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stapelberg <michael+x200@stapelberg.de>2008-10-07 11:54:04 +0200
committerMichael Stapelberg <michael+x200@stapelberg.de>2008-10-07 11:54:04 +0200
commit6f705c20decfca58aa1cd2e6c459aae01f50b318 (patch)
tree664c9c61933e3dad6bc7d33703f9fee23cc63afc
parent7fa8c4b9a954647db79f79b78b33d79c00acd250 (diff)
Make runwatches work again
-rw-r--r--config.h13
-rw-r--r--wmiistatus.c30
-rw-r--r--wmiistatus.h4
3 files changed, 18 insertions, 29 deletions
diff --git a/config.h b/config.h
index 8b4f01e..fa2f5d5 100644
--- a/config.h
+++ b/config.h
@@ -7,8 +7,11 @@ const char *battery = "/sys/class/power_supply/BAT0/uevent";
const char *run_watches[] = {"DHCP", "/var/run/dhclient.pid",
"VPN", "/var/run/vpnc*.pid"};
-#define ORDER_WLAN "0"
-#define ORDER_ETH "1"
-#define ORDER_BATTERY "2"
-#define ORDER_LOAD "3"
-#define ORDER_TIME "4"
+#define ORDER_RUN "0"
+#define ORDER_WLAN "1"
+#define ORDER_ETH "2"
+#define ORDER_BATTERY "3"
+#define ORDER_LOAD "4"
+#define ORDER_TIME "5"
+
+#define USE_COLORS
diff --git a/wmiistatus.c b/wmiistatus.c
index c26781a..c47b528 100644
--- a/wmiistatus.c
+++ b/wmiistatus.c
@@ -124,14 +124,6 @@ static char *skip_character(char *input, char character, int amount) {
return (walk == input ? walk : walk-1);
}
-static void push_part(const char *input, const int n) {
- if (first_push)
- first_push = false;
- else
- strncpy(output+strlen(output), " | ", strlen(" | "));
- strncpy(output+strlen(output), input, n);
-}
-
/*
* Get battery information from /sys. Note that it uses the design capacity to calculate the percentage,
* not the full capacity.
@@ -311,6 +303,7 @@ static bool process_runs(const char *path) {
int main(void) {
char part[512],
+ pathbuf[512],
*end;
unsigned int i;
@@ -320,24 +313,21 @@ int main(void) {
create_file(ORDER_BATTERY "battery");
create_file(ORDER_LOAD "load");
create_file(ORDER_TIME "time");
+ for (i = 0; i < sizeof(run_watches) / sizeof(char*); i += 2) {
+ sprintf(pathbuf, "%s%s", ORDER_RUN, run_watches[i]);
+ create_file(pathbuf);
+ }
while (1) {
- memset(output, '\0', sizeof(output));
- first_push = true;
-
for (i = 0; i < sizeof(run_watches) / sizeof(char*); i += 2) {
sprintf(part, "%s: %s", run_watches[i], (process_runs(run_watches[i+1]) ? "yes" : "no"));
- push_part(part, strlen(part));
+ sprintf(pathbuf, "%s%s", ORDER_RUN, run_watches[i]);
+ write_to_statusbar(pathbuf, part);
}
- char *wireless_info = get_wireless_info();
- write_to_statusbar(ORDER_WLAN "wlan", wireless_info);
-
- char *eth_info = get_eth_info();
- write_to_statusbar(ORDER_ETH "eth", eth_info);
-
- char *battery_info = get_battery_info();
- write_to_statusbar(ORDER_BATTERY "battery", battery_info);
+ write_to_statusbar(ORDER_WLAN "wlan", get_wireless_info());
+ write_to_statusbar(ORDER_ETH "eth", get_eth_info());
+ write_to_statusbar(ORDER_BATTERY "battery", get_battery_info());
/* Get load */
int load_avg = open("/proc/loadavg", O_RDONLY);
diff --git a/wmiistatus.h b/wmiistatus.h
index 9836dff..e9d4445 100644
--- a/wmiistatus.h
+++ b/wmiistatus.h
@@ -1,8 +1,5 @@
#define BEGINS_WITH(haystack, needle) (strncmp(haystack, needle, strlen(needle)) == 0)
-static char output[512];
-static bool first_push = true;
-
typedef enum { CS_DISCHARGING, CS_CHARGING, CS_FULL } charging_status_t;
static void cleanup_rbar_dir(void);
@@ -10,7 +7,6 @@ static void write_to_statusbar(const char *name, const char *message);
static void write_error_to_statusbar(const char *message);
static void die(const char *fmt, ...);
static char *skip_character(char *input, char character, int amount);
-static void push_part(const char *input, const int n);
static char *get_battery_info(void);
static char *get_wireless_info(void);
static char *get_ip_address(const char *interface);