Connect top.c to the build only on Linux.
[monky] / src / conky.c
index 2e2ebe5..0e3b3ae 100644 (file)
@@ -746,6 +746,7 @@ enum text_object_type {
        OBJ_alignr,
        OBJ_alignc,
        OBJ_i2c,
+#if defined(__linux__)
        OBJ_i8k_version,
        OBJ_i8k_bios,
        OBJ_i8k_serial,
@@ -757,6 +758,7 @@ enum text_object_type {
        OBJ_i8k_right_fan_rpm,
        OBJ_i8k_ac_status,      
        OBJ_i8k_buttons_status,
+#endif /* __linux__ */
        OBJ_if_existing,
        OBJ_if_mounted,
        OBJ_if_running,
@@ -1024,6 +1026,7 @@ if (s[0] == '#') {
        else
                strcpy(bat, "BAT0");
        obj->data.s = strdup(bat);
+#if defined(__linux__)
        END OBJ(i8k_version, INFO_I8K)
        END OBJ(i8k_bios, INFO_I8K)
        END OBJ(i8k_serial, INFO_I8K)
@@ -1035,43 +1038,40 @@ if (s[0] == '#') {
        END OBJ(i8k_right_fan_rpm, INFO_I8K)
        END OBJ(i8k_ac_status, INFO_I8K)
        END OBJ(i8k_buttons_status, INFO_I8K)
+#endif /* __linux__ */
        END OBJ(buffers, INFO_BUFFERS)
        END OBJ(cached, INFO_BUFFERS)
        END OBJ(cpu, INFO_CPU)
                if (arg) {
-                       if (sscanf(arg, "%i", &obj->data.cpu_index) < 1) {
-                               ERR("$cpu takes an int as an arg");
-                       }
-                       } else {
+               if (strncmp(arg, "cpu", 3) == 0 && isdigit(arg[3])) {
+                       obj->data.cpu_index = atoi(&arg[3]);
+                       arg += 4;
+               } else {obj->data.cpu_index = 0; }
+               } else {
                                obj->data.cpu_index = 0;
                        }
        END OBJ(cpubar, INFO_CPU)
                if (arg) {
-                       if (sscanf(arg, "%i", &obj->data.cpu_index) < 1) {
-                               if (sscanf(arg, "%i %*s", &obj->data.cpu_index) < 1) {
-                                       ERR("$cpu takes an int as an arg");
-                               } else {
-                                       char buf[128];
-                                       sscanf(arg, "%*i %127s", buf);
-                                       (void) scan_bar(buf, &obj->a, &obj->b);
-                               }
-                       }
-                       } else {
+               if (strncmp(arg, "cpu", 3) == 0 && isdigit(arg[3])) {
+                       obj->data.cpu_index = atoi(&arg[3]);
+                       arg += 4;
+               }
+               else {obj->data.cpu_index = 0;}
+               (void) scan_bar(arg, &obj->a, &obj->b);
+               } else {
+                               (void) scan_bar(arg, &obj->a, &obj->b);
                                obj->data.cpu_index = 0;
                        }
        END OBJ(cpugraph, INFO_CPU)
                        if (arg) {
-               if (sscanf(arg, "%i", &obj->data.cpu_index) < 1) {
-                       if (sscanf(arg, "%i %*s", &obj->data.cpu_index) < 1) {
-                               ERR("$cpu takes an int as an arg");
-                       } else {
-                               char buf[128];
-                               sscanf(arg, "%*i %127s", buf);
-                               (void) scan_graph(buf, &obj->a, &obj->b, &obj->c, &obj->d, &obj->e);
-                       }
+               if (strncmp(arg, "cpu", 3) == 0 && isdigit(arg[3])) {
+                       obj->data.cpu_index = atoi(&arg[3]);
+                       arg += 4;
                }
-                       } else {
-                               obj->data.cpu_index = 0;
+                               (void) scan_graph(arg, &obj->a, &obj->b, &obj->c, &obj->d, &obj->e);
+} else {
+       (void) scan_graph(arg, &obj->a, &obj->b, &obj->c, &obj->d, &obj->e);
+       obj->data.cpu_index = 0;
                        }
        END OBJ(diskio, INFO_DISKIO)
        END OBJ(diskiograph, INFO_DISKIO) (void) scan_graph(arg, &obj->a, &obj->b, &obj->c, &obj->d, &obj->e);
@@ -1818,17 +1818,18 @@ static void generate_text()
                        OBJ(cpubar) {
                                new_bar(p, obj->a,
                                        obj->b,
-                                       (int) (cur->cpu_usage[0] * 255.0));
+                                       (int) (cur->cpu_usage[obj->data.cpu_index] * 255.0));
                        }
                        OBJ(cpugraph) {
                                new_graph(p, obj->a,
                                          obj->b, obj->c, obj->d,
-                                         (unsigned int) (cur->cpu_usage[0] *
+                                         (unsigned int) (cur->cpu_usage[obj->data.cpu_index] *
                                                          100), 100, 1);
                        }
                        OBJ(color) {
                                new_fg(p, obj->data.l);
                        }
+#if defined(__linux__)
                        OBJ(i8k_version) {
                                snprintf(p, n, "%s", i8k.version);
                        }
@@ -1890,7 +1891,7 @@ static void generate_text()
                                snprintf(p, n, "%s", i8k.buttons_status); 
 
                        }
-
+#endif /* __linux__ */
 
 #ifdef X11
                        OBJ(font) {