/***************************************/ /*** c0dev0ids lazy ass sdorfehs bar ***/ /***************************************/ static char * fifo_path = "/home/sdk/.config/sdorfehs/bar"; #include //#include //#include //#include //#include //#include //#include //#include char * juice() { int fd; char buf[2]; struct apm_power_info pi; if ((fd = open("/dev/apm", O_RDONLY)) == -1 || ioctl(fd, APM_IOC_GETPOWER, &pi) == -1 || close(fd) == -1) return "??"; if (pi.battery_state == APM_BATT_UNKNOWN || pi.battery_state == APM_BATTERY_ABSENT) return "??"; return snprintf(buf, sizeof(buf), "%i", pi.battery_life); } int main() { int fifo_fd; int i = 0; while(1) { fifo_fd = open(fifo_path, O_NONBLOCK | O_WRONLY); char str[255] = ""; snprintf(str, sizeof(str), "Battery: %s%%\n",juice()); write(fifo_fd, str, strlen(str)+1); close(fifo_fd); sleep(1); } return 0; }