status-loadavg/loadavg.c
author Stiletto <blasux@blasux.ru>
Wed, 10 Dec 2014 20:31:21 +0400
changeset 13 d7ce3b1dddc4
parent 3 dae770da6416
permissions -rw-r--r--
Proper colors

#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='#0f0'";
            else if ( avgs[i] <= ORANGE )
                cols[i] = "color='#fa0'";
            else
                cols[i] = "color='#f33'";
        }

        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);
    }
}