diff --git a/src/modules/backlight.cpp b/src/modules/backlight.cpp index 48caad21..3116816a 100644 --- a/src/modules/backlight.cpp +++ b/src/modules/backlight.cpp @@ -118,9 +118,15 @@ bool waybar::modules::Backlight::handleScroll(GdkEventScroll* e) { if (config_["min-brightness"].isDouble()) { min_brightness = config_["min-brightness"].asDouble(); } - if (backend.get_scaled_brightness(preferred_device_) <= min_brightness && - ct == util::ChangeType::Decrease) { - return true; + if (ct == util::ChangeType::Decrease) { + const double current = backend.get_scaled_brightness(preferred_device_); + if (current <= min_brightness) { + return true; + } + if (current - step < min_brightness) { + backend.set_scaled_brightness(preferred_device_, static_cast(std::round(min_brightness))); + return true; + } } backend.set_brightness(preferred_device_, ct, step);