Introduction
Introduction Statistics Contact Development Disclaimer Help
tAdd screen brightness sensor - spoon - dwm status utility (2f30 fork)
git clone git://src.adamsgaard.dk/spoon
Log
Files
Refs
LICENSE
---
commit 9a248ae02783160a7d78adc151d065f3276055c1
parent ab74543a5e74287d11500dfbd7483dc88069e2b3
Author: Lucas Gabriel Vuotto <[email protected]>
Date: Sat, 14 Oct 2017 14:04:10 -0300
Add screen brightness sensor
Signed-off-by: Lucas Gabriel Vuotto <[email protected]>
Diffstat:
M Makefile | 4 ++--
A brightness.c | 38 +++++++++++++++++++++++++++++…
M spoon.c | 1 +
M stub.c | 7 +++++++
4 files changed, 48 insertions(+), 2 deletions(-)
---
diff --git a/Makefile b/Makefile
t@@ -1,9 +1,9 @@
VERSION = 0.5
PREFIX = /usr/local
SRC = spoon.c batt.c wifi.c cpu.c temp.c date.c load.c file.c key.c\
- netspeed.c strlcpy.c strlcat.c stub.c mix.c xkblayout.c mpd.c
+ netspeed.c strlcpy.c strlcat.c stub.c mix.c xkblayout.c mpd.c brightness…
OBJ = spoon.o batt.o wifi.o cpu.o temp.o date.o load.o file.o key.o\
- netspeed.o strlcpy.o strlcat.o stub.o
+ netspeed.o strlcpy.o strlcat.o stub.o brightness.o
BIN = spoon
DISTFILES = $(SRC) types.h util.h config.def.h Makefile LICENSE configure
diff --git a/brightness.c b/brightness.c
t@@ -0,0 +1,38 @@
+#include <err.h>
+#include <stdio.h>
+
+#ifdef __OpenBSD__
+#include <sys/ioctl.h>
+#include <fcntl.h>
+#include <time.h>
+#include <unistd.h>
+#include <dev/wscons/wsconsio.h>
+
+int
+brightnessread(void *arg, char *buf, size_t len)
+{
+ struct wsdisplay_param dpyp;
+ int fd;
+
+ if ((fd = open("/dev/ttyC0", O_RDONLY)) == -1) {
+ warn("couldn't open /dev/ttyC0");
+ return -1;
+ }
+ dpyp.param = WSDISPLAYIO_PARAM_BRIGHTNESS;
+ if (ioctl(fd, WSDISPLAYIO_GETPARAM, &dpyp) == -1) {
+ warn("WSDISPLAYIO_PARAM_BRIGHTNESS ioctl");
+ return -1;
+ }
+ close(fd);
+ snprintf(buf, len, "%3d%%",
+ 100 * (dpyp.curval - dpyp.min) / (dpyp.max - dpyp.min));
+
+ return 0;
+}
+#elif __linux__
+int
+brightnessread(void *arg, char *buf, size_t len)
+{
+ return -1;
+}
+#endif
diff --git a/spoon.c b/spoon.c
t@@ -21,6 +21,7 @@ int xkblayoutread(void *, char *, size_t);
int fileread(void *, char *, size_t);
int keyread(void *, char *, size_t);
int netspeedread(void *, char *, size_t);
+int brightnessread(void *, char *, size_t);
struct ent {
char *fmt;
diff --git a/stub.c b/stub.c
t@@ -69,3 +69,10 @@ netspeedread(void *arg, char *buf, size_t len)
{
return -1;
}
+
+#pragma weak brightnessread
+int
+brightnessread(void *arg, char *buf, size_t len)
+{
+ return -1;
+}
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.