diff options
Diffstat (limited to 'scrbr.c')
| -rw-r--r-- | scrbr.c | 37 |
1 files changed, 15 insertions, 22 deletions
@@ -7,36 +7,29 @@ #define BDIR "/sys/class/backlight/amdgpu_bl1" #define BMAXF max_brightness_f #define BCURF current_brightness_f +#define insbuf(s,n) size = ftell(s);\ + rewind(s); fgets(buf,size,s); n = atoi(buf) FILE *BCURF, *BMAXF; +int delay_scrbr = 6; +char brightness_str[10]; void scrbr(void) { - char *buf; + if (delay_scrbr++ < 6) goto show_stat; + else delay_scrbr = 0; unsigned short current_brightness; unsigned short max_brightness; unsigned short size; - + char buf[12]; if (!BCURF) BCURF = fopen(BDIR"/brightness","r"); if (!BMAXF) BMAXF = fopen(BDIR"/max_brightness","r"); - fseek(BCURF, 0, SEEK_END); fseek(BMAXF, 0, SEEK_END); - - size = ftell(BCURF); - buf = malloc(size); - rewind(BCURF); - fgets(buf, size, BCURF); - current_brightness = atoi(buf); - free(buf); - - size = ftell(BMAXF); - buf = malloc(size); - rewind(BMAXF); - fgets(buf, size, BMAXF); - max_brightness = atoi(buf); - free(buf); - - char brightness[10]; - snprintf(brightness,10,ICON_BR"%3d%%", - current_brightness*100/max_brightness); - block(brightness,FG,BG,BG); + insbuf(BCURF,current_brightness); + insbuf(BMAXF,max_brightness); + snprintf( + brightness_str,10,ICON_BR"%3d%%", + current_brightness*100/max_brightness + ); +show_stat: + block(brightness_str,FG,BG,BG); } |