From 9a7f5c2def65f630aa1780b2e8c7d189b4487630 Mon Sep 17 00:00:00 2001 From: Emmmmllll Date: Thu, 11 Sep 2025 14:26:38 +0200 Subject: [PATCH] fix(brightness): use the monitor's max brightness instead of '100' --- .config/quickshell/ii/services/Brightness.qml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.config/quickshell/ii/services/Brightness.qml b/.config/quickshell/ii/services/Brightness.qml index 74ef562b2..d9db341dd 100644 --- a/.config/quickshell/ii/services/Brightness.qml +++ b/.config/quickshell/ii/services/Brightness.qml @@ -76,6 +76,7 @@ Singleton { required property ShellScreen screen readonly property bool isDdc: root.ddcMonitors.some(m => m.model === screen.model) readonly property string busNum: root.ddcMonitors.find(m => m.model === screen.model)?.busNum ?? "" + property int maxBrightness: 100 property real brightness property bool ready: false @@ -95,7 +96,8 @@ Singleton { stdout: SplitParser { onRead: data => { const [, , , current, max] = data.split(" "); - monitor.brightness = parseInt(current) / parseInt(max); + monitor.maxBrightness = parseInt(max); + monitor.brightness = parseInt(current) / monitor.maxBrightness; monitor.ready = true; } } @@ -103,8 +105,8 @@ Singleton { function setBrightness(value: real): void { value = Math.max(0.01, Math.min(1, value)); - const rounded = Math.round(value * 100); - if (Math.round(brightness * 100) === rounded) + const rounded = Math.round(value * monitor.maxBrightness); + if (Math.round(brightness * monitor.maxBrightness) === rounded) return; brightness = value; setProc.command = isDdc ? ["ddcutil", "-b", busNum, "setvcp", "10", rounded] : ["brightnessctl", "s", `${rounded}%`, "--quiet"];