aboutsummaryrefslogtreecommitdiff
path: root/scrbr.c
blob: 398a4140e5a44d359451cd3a8abdd07fdee2e001 (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
36
37
38
39
40
41
42
#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
FILE *BCURF, *BMAXF;
void scrbr(void)
{
	char *buf;
	unsigned short current_brightness;
	unsigned short max_brightness;
	unsigned short size;

	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);
}