From ecc3d84f8bff1183791224387f569b4ee380bc2e Mon Sep 17 00:00:00 2001 From: matt1432 Date: Wed, 27 Dec 2023 20:06:28 -0500 Subject: [PATCH] feat(ags brightness): add set for kbd --- devices/wim/config/ags/services/brightness.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/devices/wim/config/ags/services/brightness.js b/devices/wim/config/ags/services/brightness.js index 34d7a56..37ba0ae 100644 --- a/devices/wim/config/ags/services/brightness.js +++ b/devices/wim/config/ags/services/brightness.js @@ -25,6 +25,7 @@ class Brightness extends Service { } #kbd = 0; + #kbdMax = 0; #screen = 0; #screenIcon = 'display-brightness-symbolic'; #caps = 0; @@ -51,8 +52,16 @@ class Brightness extends Service { } set kbd(value) { - this.#kbd = value; - // TODO + if (value < 0 || value > this.#kbdMax) { + return; + } + + execAsync(`brightnessctl -d ${KBD} s ${value} -q`) + .then(() => { + this.#kbd = value; + this.emit('kbd', this.#kbd); + }) + .catch(console.error); } set screen(percent) { @@ -77,6 +86,7 @@ class Brightness extends Service { super(); try { this.#monitorKbdState(); + this.#kbdMax = Number(exec(`brightnessctl -d ${KBD} m`)); this.#caps = Number(exec(`brightnessctl -d ${CAPS} g`)); this.#screen = Number(exec('brightnessctl g')) / Number(exec('brightnessctl m'));