aboutsummaryrefslogtreecommitdiff
path: root/scrbr.c
blob: 9711af63b2f2fc965c8e4c82fb14875d400129d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
#include "block.h"
#define ICON_BR "󰳲 "
#define FG "#222222"
#define BG "#dfb24999"
#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)
{
	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);
	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);
}