]> git.sur5r.net Git - i3/i3status/commitdiff
Implement colors for runwatches and WLAN down
authorMichael Stapelberg <michael+x200@stapelberg.de>
Tue, 7 Oct 2008 10:05:57 +0000 (12:05 +0200)
committerMichael Stapelberg <michael+x200@stapelberg.de>
Tue, 7 Oct 2008 10:05:57 +0000 (12:05 +0200)
config.h
wmiistatus.c

index fa2f5d5a2238c9c915903a3586579789a94ec1e0..05648a18f3e499e4fe5993dd114499305b18159c 100644 (file)
--- a/config.h
+++ b/config.h
@@ -15,3 +15,4 @@ const char *run_watches[] = {"DHCP", "/var/run/dhclient.pid",
 #define ORDER_TIME     "5"
 
 #define USE_COLORS
+#define WMII_NORMCOLORS "#000000 #333333" /* <background> <border> */
index c47b5289e05c6b247e52cdb47e858b2790571f2e..44d13a479c644b05d16f7c1b88f582300fc3e721 100644 (file)
@@ -78,6 +78,9 @@ static void create_file(const char *name) {
        int fd = creat(pathbuf, S_IRUSR | S_IWUSR);
        if (fd < 0)
                exit(-4);
+#ifdef USE_COLORS
+       write(fd, "#888888 " WMII_NORMCOLORS, strlen("#888888 " WMII_NORMCOLORS));
+#endif
        close(fd);
 }
 
@@ -211,9 +214,14 @@ static char *get_wireless_info() {
                                interfaces++;
                        int quality = atoi(interfaces);
                        /* For some reason, I get 255 sometimes */
-                       if ((quality == 255) || (quality == 0))
-                               snprintf(part, sizeof(part), "W: down");
-                       else {
+                       if ((quality == 255) || (quality == 0)) {
+#ifdef USE_COLORS
+                       snprintf(part, sizeof(part), "#FF0000 " WMII_NORMCOLORS " W: down");
+#else
+                       snprintf(part, sizeof(part), "W: down");
+#endif
+
+                       } else {
                                snprintf(part, sizeof(part), "W: (%02d%%) ", quality);
                                char *ip_address = get_ip_address(wlan_interface);
                                strcpy(part+strlen(part), ip_address);
@@ -320,7 +328,12 @@ int main(void) {
 
        while (1) {
                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"));
+                       bool running = process_runs(run_watches[i+1]);
+#ifdef USE_COLORS
+                       sprintf(part, "%s %s: %s", (running ? "#00FF00 " WMII_NORMCOLORS : "#FF0000 " WMII_NORMCOLORS), run_watches[i], (running ? "yes" : "no"));
+#else
+                       sprintf(part, "%s: %s", run_watches[i], (running ? "yes" : "no"));
+#endif
                        sprintf(pathbuf, "%s%s", ORDER_RUN, run_watches[i]);
                        write_to_statusbar(pathbuf, part);
                }