feat: backlight slider

This commit is contained in:
Brenno Lemos
2023-10-15 17:42:19 -03:00
parent c3779dd16e
commit 11d7ca1d73
7 changed files with 161 additions and 3 deletions

View File

@ -0,0 +1,23 @@
#include "modules/backlight_slider.hpp"
#include "ASlider.hpp"
namespace waybar::modules {
BacklightSlider::BacklightSlider(const std::string& id, const Json::Value& config)
: ASlider(config, "backlight-slider", id),
interval_(config_["interval"].isUInt() ? config_["interval"].asUInt() : 1000),
preferred_device_(config["device"].isString() ? config["device"].asString() : ""),
backend(interval_, [this] { this->dp.emit(); }) {}
void BacklightSlider::update() {
uint16_t brightness = backend.get_scaled_brightness(preferred_device_);
scale_.set_value(brightness);
}
void BacklightSlider::onValueChanged() {
auto brightness = scale_.get_value();
backend.set_scaled_brightness(preferred_device_, brightness);
}
} // namespace waybar::modules