]> git.sur5r.net Git - i3/i3status/commitdiff
Added consumption to battery info
authorMarcel Hellwig <keks@cookiesoft.de>
Thu, 5 Jul 2012 16:19:26 +0000 (18:19 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Mon, 9 Jul 2012 13:13:05 +0000 (15:13 +0200)
src/print_battery_info.c

index 3e0c3020dd892f9505c5f0c5eb97e4440ebccbc3..74d4460de2c33f0484fdb0932333cad59a061f1e 100644 (file)
@@ -37,6 +37,7 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char
         char percentagebuf[16];
         char remainingbuf[256];
         char emptytimebuf[256];
+        char consumptionbuf[256];
         const char *walk, *last;
         char *outwalk = buffer;
         int full_design = -1,
@@ -48,6 +49,7 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char
         memset(percentagebuf, '\0', sizeof(percentagebuf));
         memset(remainingbuf, '\0', sizeof(remainingbuf));
         memset(emptytimebuf, '\0', sizeof(emptytimebuf));
+        memset(consumptionbuf, '\0', sizeof(consumptionbuf));
 
         INSTANCE(path);
 
@@ -134,6 +136,9 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char
                 (void)snprintf(emptytimebuf, sizeof(emptytimebuf), "%02d:%02d:%02d",
                         max(empty_tm->tm_hour, 0), max(empty_tm->tm_min, 0), max(empty_tm->tm_sec, 0));
 
+                (void)snprintf(consumptionbuf, sizeof(consumptionbuf), "%1.2fW",
+                        ((float)present_rate / 1000.0 / 1000.0));
+
                 END_COLOR;
         }
 #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
@@ -249,6 +254,9 @@ void print_battery_info(yajl_gen json_gen, char *buffer, int number, const char
                 } else if (strncmp(walk+1, "emptytime", strlen("emptytime")) == 0) {
                         outwalk += sprintf(outwalk, "%s", emptytimebuf);
                         walk += strlen("emptytime");
+                } else if (strncmp(walk+1, "consumption", strlen("consumption")) == 0) {
+                        outwalk += sprintf(outwalk, "%s", consumptionbuf);
+                        walk += strlen("consumptionbuf");
                 }
         }