int main(void) { char *status; float cpu0, cpu1; char *datetime; int bat0; if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "Cannot open display.\n"); return 1; } if((status = malloc(200)) == NULL) exit(1); for (;;sleep(1)) { cpu0 = getfreq("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"); cpu1 = getfreq("/sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq"); datetime = getdatetime(); bat0 = getbattery(); snprintf(status, 200, "%0.2f, %0.2f | %d%% | %s", cpu0, cpu1, bat0, datetime); free(datetime); setstatus(status); } free(status); XCloseDisplay(dpy); return 0; }
int main(void) { char status[100]; int l = 0; if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "Cannot open display.\n"); return 1; } for (;;sleep(2)) { l = getcpu(status, sizeof(status)); l += gettemp(status + l, sizeof(status) - l); l += getmem(status + l, sizeof(status) - l); l += getnetwork(status + l, sizeof(status) - l); l += getbattery(status + l, sizeof(status) - l); l += getvol(status + l, sizeof(status) - l); l += getdatetime(status + l, sizeof(status) - l); setstatus(status); } 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 *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(int argc, char* argv[]) { char *status; char volume[20]; char *datetime; char bat[20] = ""; int laptop = 0; char hostname[30]; gethostname(hostname, 30); printf("%s\n", hostname); if (strcmp(hostname, "johan-laptop") == 0){ laptop = 1; printf("This is a laptop\n"); } else { printf("This is not a laptop\n"); } snd_mixer_t *handle; snd_mixer_open(&handle, 0); snd_mixer_attach(handle, "default"); const char* vol_ch = "Master"; snd_mixer_selem_register(handle, NULL, NULL); snd_mixer_load(handle); if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "Cannot open display.\n"); return 1; } if((status = malloc(200)) == NULL) exit(1); for (;;usleep(1000000)) { datetime = getdatetime(); //volume = getcmd("$HOME/Scripts/volume\\ get.sh"); sprintf(volume, "%.0f%", getvolume(handle, vol_ch)); if (laptop){ sprintf(bat, " Bat: %.0f% |", getbattery()); } snprintf(status, 200, "Vol: %s% |%s %s ", volume, bat, datetime ); free(datetime); setstatus(status); } free(status); XCloseDisplay(dpy); return 0; }
int main(void) { char *status; float mem; int bat0; char *datetime; char *address; char battext[6]; char *volume; if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "Cannot open display.\n"); return 1; } status = xmalloc(200); for (;;sleep(1)) { datetime = getdatetime(); mem = getmeminfo(); bat0 = getbattery(); address = getaddress(); volume = getvolume(); if (ischarging()) strcpy(battext, "ac:"); else { if (bat0 > 50) strcpy(battext, "bat:"); else if (bat0 < 20) strcpy(battext, "bat:"); else strcpy(battext, "bat:"); } snprintf(status, 200, "|%s|mem:%0.0f%%|%s%d%%|vol:%s|%s|", address, mem, battext, bat0, volume, datetime); free(datetime); free(address); free(volume); setstatus(status); } free(status); XCloseDisplay(dpy); return 0; }
int main(void) { char *status; /*char *avgs;*/ char *tmcentral; char *cpu; char *battery; char *ifaddr; char *temp; int i = 0; if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "dwmstatus: cannot open display.\n"); return 1; } /* Clear old_stats for cpu usage*/ for(i = 0; i < 10; ++i) old_stats[i] = 0; for (;;sleep(1)) { /*avgs = loadavg();*/ cpu = cpu_usage(); tmcentral = mktimes("%Y-%m-%d %H:%M:%S", tzcentral); battery = getbattery(); ifaddr = getifaddr(); temp = gettemp(); status = smprintf("%s | %s BAT %s | CPU %s | %s", temp, ifaddr, battery, cpu, tmcentral); setstatus(status); /*free(avgs);*/ free(tmcentral); free(status); free(ifaddr); } XCloseDisplay(dpy); return 0; }
int main(void) { char status [200]; int bat; if (!(dpy = XOpenDisplay(NULL))) { fputs("Cannot open display.\n", stderr); return EXIT_FAILURE; } for ( FILE * in; ; sleep(30)) { bat = getbattery(); snprintf(status, 200, "%i", bat); setstatus(status); } XCloseDisplay(dpy); return EXIT_SUCCESS; }
int main(void) { Display *dpy; char *temp; char *status; char *tmny; char *batt; char *wifi; char *volume; if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "dwmstatus: cannot open display.\n"); return 1; } for (;;sleep(1)) { wifi = getsignalstrength(); batt = getbattery(); volume = getvolume(); temp = gettemperature("/sys/class/hwmon/hwmon0/temp1_input"); tmny = mktimes("%a %d %b %H:%M:%S", tzny); /* status = smprintf("\x8D | \x8F | \x90 | \x9D | \x81 | %s", tmny); */ /* charge | batt | vol | mute | wifi | time */ status = smprintf("%s | %s%s%s %s", temp, volume, batt, wifi, tmny); XStoreName(dpy, DefaultRootWindow(dpy), status); XSync(dpy, False); free(tmny); free(batt); free(wifi); free(volume); free(status); } XCloseDisplay(dpy); return 0; }
int main(void) { char *status; char *avgs; char *tmnyc; char *tmsf; char *batt; if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "dwmstatus: cannot open display.\n"); return 1; } for (;;sleep(1)) { batt = getbattery(); avgs = loadavg(); tmnyc = mktimes("%a %b %d %Y %H:%M:%S %Z", tznyc); tmsf = mktimes("%a %b %d %Y %H:%M:%S %Z", tzsf); //tmutc = mktimes("%H:%M", tzutc); //tmbln = mktimes("KW %W %a %d %b %H:%M %Z %Y", tzberlin); status = smprintf("B:%s L:%s %s ", batt, avgs, tmsf); setstatus(status); free(avgs); free(tmnyc); free(tmsf); free(status); free(batt); } 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; }
int main(void) { char *status; if((status = malloc(STATUS_LENGTH*sizeof(char))) == NULL){ printf("Cannot allocate memory for status"); return 0; } char *datetime = NULL; char state_bat[12]; int bat1, energy_full; // bat2; int rem_hours = 0, rem_min = 0, rem_sec = 0; long rem_usec = 0; char *net_intf, *ip = NULL; if((net_intf = malloc(5*sizeof(char))) == NULL){ printf("Cannot allocate memory for net_intf"); return 0; } if((ip = malloc(100*sizeof(char))) == NULL){ printf("Cannot allocate memory for ip"); return 0; } char net_displ[50]; long left_volume; long right_volume; int mem_used; int mem_available; float cpu_avg_freq; long usec1, usec2 = 0; struct timeval time1, time2; int connected = 0; int energy1, energy2, dummy = 0; int count = 0; char *mpc_vol, *mpc_state, *mpc_song = NULL; if((mpc_vol = malloc(3*sizeof(char))) == NULL){ printf("Cannot allocate memory for mpc_vol"); return 0; } if((mpc_state = malloc(5*sizeof(char))) == NULL){ printf("Cannot allocate memory for mpc_state"); return 0; } if((mpc_song = malloc(100*sizeof(char))) == NULL){ printf("Cannot allocate memory for mpc_song"); return 0; } if (!(dpy = XOpenDisplay(NULL))) { fprintf(stderr, "Cannot open display.\n"); return 0; } strcpy(state_bat, "unknown"); for (;;sleep(1)) { bat1 = getbattery(&dummy, &energy_full); connected = net(&net_intf, &ip); datetime = getdatetime(); getvolume(&left_volume, &right_volume); getmemoryusage(&mem_available, &mem_used); getcpuusage(&cpu_avg_freq); if (connected == 1) sprintf(net_displ, "%s: %s", net_intf, ip); else sprintf(net_displ, "not connected"); //mpc_stat(&mpc_vol, &mpc_state, &mpc_song); if (count == 0) { usec1 = time_usec(&time1); getbattery(&energy1, &energy_full); count++; } else if (count >= 5) { count = 0; usec2 = time_usec(&time2); getbattery(&energy2, &energy_full); if ((energy2 - energy1) < 0){ rem_usec = ((float)(usec2-usec1))*(((float)(energy1+energy2))/((float)(2*(energy1-energy2)))); strcpy(state_bat, "discharging"); } else if ((energy2 - energy1) > 0) { rem_usec = (((float)(usec2-usec1))*((float)energy_full)/((float)(energy2-energy1)))*(1-(((float)(energy2+energy1))/((float)(2*energy_full)))); strcpy(state_bat, "charging"); } else if ( (energy2 == energy1) && bat1 >= 100) { rem_usec = 0; strcpy(state_bat, "charged"); } else { rem_usec = 0; strcpy(state_bat, "unknown"); } rem_hours = (int)(rem_usec/(1e6*60*60)); rem_min = (int)((rem_usec/(1e6*60)) - rem_hours*60); rem_sec = (int)((rem_usec/(1e6)) - rem_hours*60*60 - rem_min*60); if ((bat1 < 15) && (strcmp(state_bat, "discharging") == 0)) { system("mplayer /home/andrea/.local/statusbar/sound/siren.mp3"); } } else { count++; } // snprintf(status, STATUS_LENGTH, "MPC: status: %s - song: %s | %s | volume left %i - right %i | Battery %d%% (%s %d h %d min %d s) | %s", mpc_state, mpc_song, net_displ, (int)left_volume, (int)right_volume, bat1, state_bat, rem_hours, rem_min, rem_sec, datetime); snprintf(status, STATUS_LENGTH, "CPU (avg) %4.3f MHz | RAM used %d%% available %d%% | %s | volume left %i - right %i | Battery %d%% (%s %d h %d min %d s) | %s", cpu_avg_freq, mem_used, mem_available, net_displ, (int)left_volume, (int)right_volume, bat1, state_bat, rem_hours, rem_min, rem_sec, datetime); setstatus(status); } free(mpc_song); free(mpc_state); free(mpc_vol); free(net_intf); free(ip); free(datetime); 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; }