diff --git a/Modules/Bar/Widgets/Brightness.qml b/Modules/Bar/Widgets/Brightness.qml index b82e0b4f7..83edfdfe8 100644 --- a/Modules/Bar/Widgets/Brightness.qml +++ b/Modules/Bar/Widgets/Brightness.qml @@ -176,29 +176,18 @@ Item { return; var shouldApplyToAll = root.applyToAllMonitors && root.getControllableMonitorCount() > 1; - if (shouldApplyToAll) { - var direction = angle > 0 ? 1 : -1; - var baseValue = !isNaN(monitor.queuedBrightness) ? monitor.queuedBrightness : monitor.brightness; - var step = monitor.stepSize; - var minValue = monitor.minBrightnessValue; - - if (direction > 0 && Settings.data.brightness.enforceMinimum && baseValue < minValue) { - baseValue = Math.max(step, minValue); + if (angle > 0) { + if (shouldApplyToAll) { + BrightnessService.increaseBrightness(); } else { - baseValue = baseValue + direction * step; + monitor.increaseBrightness(); } - - var targetValue = Math.max(minValue, Math.min(1, baseValue)); - - BrightnessService.monitors.forEach(function (m) { - if (m && m.brightnessControlAvailable) { - m.setBrightnessDebounced(targetValue); - } - }); - } else if (angle > 0) { - monitor.increaseBrightness(); } else if (angle < 0) { - monitor.decreaseBrightness(); + if (shouldApplyToAll) { + BrightnessService.decreaseBrightness(); + } else { + monitor.decreaseBrightness(); + } } } diff --git a/Services/Hardware/BrightnessService.qml b/Services/Hardware/BrightnessService.qml index 804c064b1..c927d2728 100644 --- a/Services/Hardware/BrightnessService.qml +++ b/Services/Hardware/BrightnessService.qml @@ -478,7 +478,8 @@ Singleton { } function setBrightness(value: real): void { - value = Math.max(0, Math.min(1, value)); + var min = Settings.data.brightness.enforceMinimum ? 0.01 : 0; + value = Math.max(min, Math.min(1, value)); var rounded = Math.round(value * 100); // Always update internal value and trigger UI feedback immediately