diff --git a/PKGBUILD b/PKGBUILD index 139446e..1cdcff6 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -12,6 +12,7 @@ license=('custom:ISC') _patches=( "seperator-20180305-f4e35fa.diff" + "backlight-20180305-85a4a18.diff" ) source=("git+https://git.suckless.org/${pkgname%-git}" @@ -19,8 +20,9 @@ source=("git+https://git.suckless.org/${pkgname%-git}" "${_patches[@]}") md5sums=('SKIP' - 'b928045f39e259a1fa526e18b1ce8dc1' - '24ea93ef665decc0315248f62aa65f44') + '9a36cf69d3a7318fffad5535f3e0fed5' + '24ea93ef665decc0315248f62aa65f44' + '58404d0af1893f560926daf605a79919') pkgver() { cd "${pkgname%-git}" diff --git a/backlight-20180305-85a4a18.diff b/backlight-20180305-85a4a18.diff new file mode 100644 index 0000000..789be21 --- /dev/null +++ b/backlight-20180305-85a4a18.diff @@ -0,0 +1,95 @@ +From 85a4a1822108d84c50d383211c4092a2aed7e7b4 Mon Sep 17 00:00:00 2001 +From: Ryan Kes +Date: Sun, 10 Mar 2019 21:12:49 +0100 +Subject: [PATCH] Add linux support for backlight + +--- + Makefile | 1 + + components/backlight.c | 36 ++++++++++++++++++++++++++++++++++++ + config.def.h | 1 + + slstatus.h | 3 +++ + 4 files changed, 41 insertions(+) + create mode 100644 components/backlight.c + +diff --git a/Makefile b/Makefile +index 20796b3..c93032f 100644 +--- a/Makefile ++++ b/Makefile +@@ -6,6 +6,7 @@ include config.mk + + REQ = util + COM =\ ++ components/backlight\ + components/battery\ + components/cpu\ + components/datetime\ +diff --git a/components/backlight.c b/components/backlight.c +new file mode 100644 +index 0000000..fcc062a +--- /dev/null ++++ b/components/backlight.c +@@ -0,0 +1,36 @@ ++/* See LICENSE file for copyright and license details. */ ++#include ++#include ++ ++#include "../util.h" ++ ++#if defined(__linux__) ++ #include ++ #include ++ #include ++ ++ const char * ++ backlight_perc(const char *backlight) ++ { ++ float value; ++ char path[PATH_MAX]; ++ ++ if (esnprintf(path, sizeof(path), ++ "/sys/class/backlight/%s/actual_brightness", backlight) < 0) { ++ return NULL; ++ } ++ if (pscanf(path, "%f", &value) != 1) { ++ return NULL; ++ } ++ ++ return bprintf("%d", (int)(value / 852 * 100)); ++ } ++ ++#else ++ const char * ++ backlight_perc(const char *backlight) ++ { ++ return NULL; ++ } ++ ++#endif +diff --git a/config.def.h b/config.def.h +index af289e5..d2f7045 100644 +--- a/config.def.h ++++ b/config.def.h +@@ -12,6 +12,7 @@ static const char unknown_str[] = "n/a"; + /* + * function description argument (example) + * ++ * backlight_perc backlight percentage backlight name (intel_backlight) + * battery_perc battery percentage battery name (BAT0) + * NULL on OpenBSD/FreeBSD + * battery_state battery charging state battery name (BAT0) +diff --git a/slstatus.h b/slstatus.h +index 78aef21..a46f276 100644 +--- a/slstatus.h ++++ b/slstatus.h +@@ -1,5 +1,8 @@ + /* See LICENSE file for copyright and license details. */ + ++/* backlight */ ++const char *backlight_perc(const char *backlight); ++ + /* battery */ + const char *battery_perc(const char *); + const char *battery_state(const char *); +-- +2.21.0 + diff --git a/config.h b/config.h index 45c0f24..7fb4ce4 100644 --- a/config.h +++ b/config.h @@ -73,13 +73,13 @@ static const struct arg args[] = { { battery_perc, "\x0C  %s%%", "BAT0" }, { battery_remaining, " %s ", "BAT0" }, { seperator, "\x0D", NULL }, - /* { run_command, "\x0E  %s%% ", "/bin/sh -c \"xbacklight -get | xargs printf '%.*f\n' 0 \"" }, */ - /* { seperator, "\x0F", NULL }, */ + { backlight_perc, "\x0E  %s%% ", "intel_backlight" }, + { seperator, "\x0F", NULL }, { disk_perc, "\x10 / %s%%", "/" }, { disk_perc, "  %s%% ", "/home" }, - { seperator, "\x11", NULL }, - /* { run_command, "\x12 蓼 %s%% ", "/bin/sh -c \"amixer get Master | tail -n1 | grep -Po '\\[\\K[^%]*' | head -n1\"" }, */ - /* { seperator, "\x13", NULL }, */ + //{ seperator, "\x11", NULL }, + //{ run_command, "\x12 蓼 %s%% ", "/bin/sh -c \"amixer get Master | tail -n1 | grep -Po '\\[\\K[^%]*' | head -n1\"" }, + { seperator, "\x13", NULL }, { ram_perc, "\x14  %s%% ", NULL }, { seperator, "\x15", NULL }, { load_avg, "\x16  %s ", NULL },