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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
     1
#define _DEFAULT_SOURCE
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
     2
#include <stdio.h>
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
     3
#include <stdlib.h>
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
     4
#include <unistd.h>
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
     5
#include <string.h>
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
     6
#include <errno.h>
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
     7
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
     8
#include "config.h"
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
     9
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    10
int
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    11
main(void)
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    12
{
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    13
    while (1) {
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    14
        double avgs[3];
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    15
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    16
        if (getloadavg(avgs, 3) < 0) {
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    17
            perror("getloadavg");
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    18
            exit(1);
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    19
        }
3
dae770da6416 Pango markup is now optional
Stiletto <blasux@blasux.ru>
parents: 1
diff changeset
    20
#ifdef PANGO_MARKUP
dae770da6416 Pango markup is now optional
Stiletto <blasux@blasux.ru>
parents: 1
diff changeset
    21
        char *cols[3];
1
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    22
        for ( int i = 0; i < 3; i++ ) {
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    23
            if ( avgs[i] <= GREEN )
13
d7ce3b1dddc4 Proper colors
Stiletto <blasux@blasux.ru>
parents: 3
diff changeset
    24
                cols[i] = "color='#0f0'";
1
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    25
            else if ( avgs[i] <= ORANGE )
13
d7ce3b1dddc4 Proper colors
Stiletto <blasux@blasux.ru>
parents: 3
diff changeset
    26
                cols[i] = "color='#fa0'";
1
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    27
            else
13
d7ce3b1dddc4 Proper colors
Stiletto <blasux@blasux.ru>
parents: 3
diff changeset
    28
                cols[i] = "color='#f33'";
1
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    29
        }
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    30
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    31
        printf("<span %s>%.2f</span> <span %s>%.2f</span> <span %s>%.2f</span>\n",
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    32
            cols[0], avgs[0], cols[1], avgs[1], cols[2], avgs[2]);
3
dae770da6416 Pango markup is now optional
Stiletto <blasux@blasux.ru>
parents: 1
diff changeset
    33
#else
dae770da6416 Pango markup is now optional
Stiletto <blasux@blasux.ru>
parents: 1
diff changeset
    34
        printf("%.2f %.2f %.2f\n", avgs[0], avgs[1], avgs[2]);
dae770da6416 Pango markup is now optional
Stiletto <blasux@blasux.ru>
parents: 1
diff changeset
    35
#endif
1
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    36
        fflush(stdout);
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    37
        sleep(UPDATE_PERIOD);
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    38
    }
3e9290bf7249 Some sample status scripts
Stiletto <blasux@blasux.ru>
parents:
diff changeset
    39
}