status-loadavg/loadavg.c
changeset 3 dae770da6416
parent 1 3e9290bf7249
child 13 d7ce3b1dddc4
equal deleted inserted replaced
2:f303b1affcff 3:dae770da6416
    10 int
    10 int
    11 main(void)
    11 main(void)
    12 {
    12 {
    13     while (1) {
    13     while (1) {
    14         double avgs[3];
    14         double avgs[3];
    15         char *cols[3];
       
    16 
    15 
    17         if (getloadavg(avgs, 3) < 0) {
    16         if (getloadavg(avgs, 3) < 0) {
    18             perror("getloadavg");
    17             perror("getloadavg");
    19             exit(1);
    18             exit(1);
    20         }
    19         }
       
    20 #ifdef PANGO_MARKUP
       
    21         char *cols[3];
    21         for ( int i = 0; i < 3; i++ ) {
    22         for ( int i = 0; i < 3; i++ ) {
    22             if ( avgs[i] <= GREEN )
    23             if ( avgs[i] <= GREEN )
    23                 cols[i] = "color='green'";
    24                 cols[i] = "color='green'";
    24             else if ( avgs[i] <= ORANGE )
    25             else if ( avgs[i] <= ORANGE )
    25                 cols[i] = "color='orange'";
    26                 cols[i] = "color='orange'";
    27                 cols[i] = "color='red'";
    28                 cols[i] = "color='red'";
    28         }
    29         }
    29 
    30 
    30         printf("<span %s>%.2f</span> <span %s>%.2f</span> <span %s>%.2f</span>\n",
    31         printf("<span %s>%.2f</span> <span %s>%.2f</span> <span %s>%.2f</span>\n",
    31             cols[0], avgs[0], cols[1], avgs[1], cols[2], avgs[2]);
    32             cols[0], avgs[0], cols[1], avgs[1], cols[2], avgs[2]);
       
    33 #else
       
    34         printf("%.2f %.2f %.2f\n", avgs[0], avgs[1], avgs[2]);
       
    35 #endif
    32         fflush(stdout);
    36         fflush(stdout);
    33         sleep(UPDATE_PERIOD);
    37         sleep(UPDATE_PERIOD);
    34     }
    38     }
    35 }
    39 }