Introduction
Introduction Statistics Contact Development Disclaimer Help
tbrightness.c - spoon - [fork] customized build of spoon, the dwm status utility
git clone git://src.adamsgaard.dk/spoon
Log
Files
Refs
LICENSE
---
tbrightness.c (1111B)
---
1 #include <err.h>
2 #include <stdio.h>
3
4 #ifdef __OpenBSD__
5 #include <sys/ioctl.h>
6 #include <fcntl.h>
7 #include <time.h>
8 #include <unistd.h>
9 #include <dev/wscons/wsconsio.h>
10
11 int
12 brightnessread(void *arg, char *buf, size_t len)
13 {
14 struct wsdisplay_param dpyp;
15 int fd;
16
17 if ((fd = open("/dev/ttyC0", O_RDONLY)) == -1) {
18 warn("couldn't open /dev/ttyC0");
19 return -1;
20 }
21 dpyp.param = WSDISPLAYIO_PARAM_BRIGHTNESS;
22 if (ioctl(fd, WSDISPLAYIO_GETPARAM, &dpyp) == -1) {
23 warn("WSDISPLAYIO_PARAM_BRIGHTNESS ioctl");
24 return -1;
25 }
26 close(fd);
27 snprintf(buf, len, "%3d%%",
28 100 * (dpyp.curval - dpyp.min) / (dpyp.max - dpyp.min));
29
30 return 0;
31 }
32 #elif __linux__
33 #include <sys/wait.h>
34 int
35 brightnessread(void *arg, char *buf, size_t len)
36 {
37 FILE *fp;
38 int brightness;
39
40 fp = popen("xbacklight", "r");
41 if (fp == NULL)
42 return -1;
43 if (fscanf(fp, "%d", &brightness) == EOF) {
44 if (ferror(fp)) {
45 pclose(fp);
46 return -1;
47 }
48 }
49 /* This system does not have a backlight so report it as 100% */
50 if (WEXITSTATUS(pclose(fp)) == 1)
51 brightness = 100;
52 snprintf(buf, len, "%3d%%", brightness);
53 return 0;
54 }
55 #endif
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.