status-loadavg/loadavg.c
author Stiletto <blasux@blasux.ru>
Mon, 20 Oct 2014 23:24:03 +0400
changeset 3 dae770da6416
parent 1 3e9290bf7249
child 13 d7ce3b1dddc4
permissions -rw-r--r--
Pango markup is now optional

#define _DEFAULT_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>

#include "config.h"

int
main(void)
{
    while (1) {
        double avgs[3];

        if (getloadavg(avgs, 3) < 0) {
            perror("getloadavg");
            exit(1);
        }
#ifdef PANGO_MARKUP
        char *cols[3];
        for ( int i = 0; i < 3; i++ ) {
            if ( avgs[i] <= GREEN )
                cols[i] = "color='green'";
            else if ( avgs[i] <= ORANGE )
                cols[i] = "color='orange'";
            else
                cols[i] = "color='red'";
        }

        printf("<span %s>%.2f</span> <span %s>%.2f</span> <span %s>%.2f</span>\n",
            cols[0], avgs[0], cols[1], avgs[1], cols[2], avgs[2]);
#else
        printf("%.2f %.2f %.2f\n", avgs[0], avgs[1], avgs[2]);
#endif
        fflush(stdout);
        sleep(UPDATE_PERIOD);
    }
}