int main(void) { char *status; char *tmchicago; char *alsavolume; char *mpdinfo; char *mailinfo; char *networkinfo; char *layoutinfo; static unsigned long long int rec, sent; time_t count5min = time(NULL); /* if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "dwmstatus: cannot open display.\n"); return 1; } */ xkblayoutSetup(); parse_netdev(&rec,&sent); mailinfo = getMailCount(); for (;;sleep(1)) { /* Put together the pieces of our status */ tmchicago = mktimes("%a, %b %d %I:%M", tzchicago); alsavolume = get_volume(); mpdinfo = getmpdstat(); networkinfo = get_netusage(&rec,&sent); layoutinfo = getKeyboardLayout(); if(runevery(&count5min, 300)) { free(mailinfo); mailinfo = getMailCount(); } /* Build the status string from our pieces */ status = smprintf("%s %s %s %s %s[%s%s%%%s] %s[%s%s%s]", mpdinfo, networkinfo, mailinfo, layoutinfo, colcyan, colgreen, alsavolume, colcyan, colcyan, colyellow, tmchicago, colcyan); /* Send it to the wm for display */ setstatus(status); /* Clean up our pieces */ free(layoutinfo); free(tmchicago); free(alsavolume); free(mpdinfo); free(networkinfo); free(status); } free(mailinfo); xkblayoutCleanup(); XCloseDisplay(dpy); return 0; }
/* * setup the status bar here */ int status(int tostatusbar) { char *status = NULL; char *avgs = NULL; char *time = NULL; char *batt = NULL; char *net = NULL; char *temp = NULL; char *ipaddr = NULL; char *net_device_up = NET_DEVICE_PRIMARY; time_t count60 = 0; time_t count10 = 0; if (!(dpy = XOpenDisplay(NULL)) && tostatusbar == 0) { fprintf(stderr, "dwmstatus: cannot open display.\n"); return 1; } for (;;sleep(0)) { /* Update every minute */ if (runevery(&count60, 60)) { free(time); time = mktimes("%Y/%m/%d %H:%M", TIMEZONE); } /* Update every 10 seconds */ if (runevery(&count10, 10)) { free(avgs); free(temp); free(batt); avgs = loadavg(); temp = gettemperature(TEMP_SENSOR_PATH, TEMP_SENSOR_UNIT); batt = getbattery(BATT_PATH); if(!temp) free(temp); } /* Update every second */ net = get_netusage(net_device_up); ipaddr = get_ip_addr(net_device_up); /* Format of display */ status = smprintf("%s (%s) | %s [%s] T %s | %s", net, ipaddr, batt, avgs, temp, time); if(!ipaddr) free(ipaddr); free(net); if(tostatusbar == 0) setstatus(status); else puts(status); free(status); } return 0; }
int main(void) { char *status = NULL; char *tmprs = NULL; char *avgs = NULL; time_t count60 = 0; char *uptm = NULL; char *vol = NULL; char *netstats = NULL; char *ram = NULL; static unsigned long long int rec, sent; if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "dwmstatus: cannot open display.\n"); return 1; } parse_netdev(&rec, &sent); for (;;sleep(1)) { /* checks every minutes */ if ( runevery(&count60, 60) ) { free(tmprs); free(uptm); tmprs = mktimes("\x06\uf073 %b-%d %I:%M %p", tz); uptm = up(); free(ram); ram = get_ram(); } /* checks every second */ avgs = loadavg(); vol = get_volume(); netstats = get_netusage(&rec, &sent); status = smprintf("%s%s %s %s%s%s", netstats, avgs, ram, uptm, vol, tmprs); setstatus(status); free(vol); free(avgs); free(status); } XCloseDisplay(dpy); return 0; }
int main(void) { char *status; char *avgs; char *tmar; char *tmutc; char *tmbln; char *netstats; if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "dwmstatus: cannot open display.\n"); return 1; } for (;;sleep(90)) { avgs = loadavg(); tmar = mktimes("%H:%M", tzargentina); tmutc = mktimes("%H:%M", tzutc); tmbln = mktimes("KW %W %a %d %b %H:%M %Z %Y", tzberlin); netstats = get_netusage(); status = smprintf("[L: %s|N: %s|A: %s|U: %s|%s]", avgs, netstats, tmar, tmutc, tmbln); setstatus(status); free(avgs); free(netstats); free(tmar); free(tmutc); free(tmbln); free(status); } XCloseDisplay(dpy); return 0; }
int main(void) { char *status = NULL; char *avgs = NULL; char *tmprs = NULL; char *bat = NULL; char *netstats = NULL; char *mail_laposte = NULL; char *mail_fac = NULL; char *mail_lavabit = NULL; char *mail_tl = NULL; char *rootfs = NULL; char *homefs = NULL; time_t count5min = 0; time_t count60 = 0; if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "dwmstatus: cannot open display.\n"); return 1; } for (;;sleep(1)) { /* checks every minutes */ if ( runevery(&count60, 60) ) { free(tmprs); free(bat); free(rootfs); free(homefs); tmprs = mktimes("%d/%m/%y %H:%M", tzparis); bat = getbattery("/sys/class/power_supply/BAT0/"); homefs = get_freespace("/home"); rootfs = get_freespace("/"); } /* checks mail every 5 minutes */ if (runevery(&count5min, 300) ) { free(mail_laposte); free(mail_fac); free(mail_lavabit); free(mail_tl); mail_laposte = get_nmail("/home/xavier/Maildir/fac/new", " Fac:"); mail_fac = get_nmail("/home/xavier/Maildir/lavabit/new", " Lavabit:"); mail_lavabit = get_nmail("/home/xavier/Maildir/toilelibre/new", " TL:"); mail_tl = get_nmail("/home/xavier/Maildir/laposte/new", " Laposte:"); } /* checks every second */ avgs = loadavg(); netstats = get_netusage(); status = smprintf("%s%s%s%s | %s | /:%s% /home:%s% | B:%s% | %s | %s", mail_tl, mail_fac, mail_lavabit, mail_laposte, netstats, rootfs, homefs, bat, avgs, tmprs); setstatus(status); free(avgs); free(netstats); free(status); } XCloseDisplay(dpy); return 0; }
/* * setup the status bar here */ int status(int tostatusbar) { char *status = NULL; char *avgs = NULL; char *time = NULL; char *batt = NULL; char *net = NULL; char *net_sec = NULL; char *temp = NULL; char *ipaddr = NULL; char *ipaddr_sec = NULL; #ifdef NET_DEVICE_PRIMARY char *net_device_up = NET_DEVICE_PRIMARY; #endif #ifdef NET_DEVICE_SECONDARY char *net_device_sec = NET_DEVICE_SECONDARY; #endif time_t count60 = 0; time_t count10 = 0; if (!(dpy = XOpenDisplay(NULL)) && tostatusbar == 0) { fprintf(stderr, "dwmstatus: cannot open display.\n"); return 1; } for (;;sleep(0)) { /* Update every minute */ if (runevery(&count60, 60)) { free(time); time = mktimes("%Y/%m/%d %H:%M", TIMEZONE); } /* Update every 10 seconds */ if (runevery(&count10, 10)) { #ifdef BATT_PATH free(batt); batt = getbattery(BATT_PATH); #endif #ifdef TEMP_SENSOR_PATH #ifdef TEMP_SENSOR_UNIT free(avgs); free(temp); avgs = loadavg(); temp = gettemperature(TEMP_SENSOR_PATH, TEMP_SENSOR_UNIT); SFREE(temp); #endif #endif } /* Update every second */ #ifdef NET_DEVICE_PRIMARY net = get_netusage(net_device_up); ipaddr = get_ip_addr(net_device_up); #endif #ifdef NET_DEVICE_SECONDARY net_sec = get_netusage(net_device_sec); ipaddr_sec = get_ip_addr(net_device_sec); #endif /* Format of display */ status = smprintf("%s%s%s%s%s%s", ipaddr == NULL ? "" : smprintf(" %s (%s) |", net, ipaddr), ipaddr_sec == NULL ? "" : smprintf(" %s (%s) |", net_sec, ipaddr_sec), batt == NULL ? "" : smprintf(" %s", batt), avgs == NULL ? "" : smprintf(" [%s]", avgs), time == NULL ? "" : smprintf(" %s", temp), time == NULL ? "" : smprintf(" | %s", time) ); SFREE(ipaddr) free(net); SFREE(ipaddr_sec) free(net_sec); if(tostatusbar == 0) setstatus(status); else puts(status); free(status); } return 0; }