i3 - improved tiling WM


Support colored output for CPU temperature on FreeBSD

Patch status: merged

Patch by Baptiste Daroussin

To apply this patch, use:
curl http://cr.i3wm.org/patch/96/raw.patch | git am

b/src/print_cpu_temperature.c

13
@@ -14,6 +14,7 @@
14
 #include <sys/sysctl.h>
15
 #define TZ_ZEROC 2732
16
 #define TZ_KELVTOC(x) (((x) - TZ_ZEROC) / 10), abs(((x) - TZ_ZEROC) % 10)
17
+#define TZ_AVG(x) ((x) - TZ_ZEROC) / 10
18
 #endif
19
 
20
 #if defined(__OpenBSD__)
21
@@ -80,7 +81,16 @@ void print_cpu_temperature_info(yajl_gen json_gen, char *buffer, int zone, const
22
                         if (sysctlbyname(path, &sysctl_rslt, &sysctl_size, NULL, 0))
23
                                 goto error;
24
 
25
+                        if (TZ_AVG(sysctl_rslt) >= max_threshold) {
26
+                                START_COLOR("color_bad");
27
+                                colorful_output = true;
28
+                        }
29
                         outwalk += sprintf(outwalk, "%d.%d", TZ_KELVTOC(sysctl_rslt));
30
+                        if (colorful_output) {
31
+                                END_COLOR;
32
+                                colorful_output = false;
33
+                        }
34
+
35
 #elif defined(__OpenBSD__)
36
         struct sensordev sensordev;
37
         struct sensor sensor;