feat(percent): adds a percent class to numeric modules

pull/297/head
Dan 2019-05-01 22:28:48 -04:00 committed by Dan
parent 1a024db03c
commit 472363a623
6 changed files with 19 additions and 0 deletions

View File

@ -51,6 +51,8 @@ class Backlight : public ALabel {
const std::string preferred_device_; const std::string preferred_device_;
static constexpr int EPOLL_MAX_EVENTS = 16; static constexpr int EPOLL_MAX_EVENTS = 16;
std::string old_percent_;
std::optional<BacklightDev> previous_best_; std::optional<BacklightDev> previous_best_;
std::string previous_format_; std::string previous_format_;

View File

@ -43,6 +43,7 @@ class Battery : public ALabel {
int fd_; int fd_;
std::vector<int> wds_; std::vector<int> wds_;
std::string old_status_; std::string old_status_;
std::string old_capacity_;
}; };
} // namespace waybar::modules } // namespace waybar::modules

View File

@ -23,6 +23,8 @@ class Cpu : public ALabel {
std::tuple<uint16_t, std::string> getCpuUsage(); std::tuple<uint16_t, std::string> getCpuUsage();
std::vector<std::tuple<size_t, size_t>> parseCpuinfo(); std::vector<std::tuple<size_t, size_t>> parseCpuinfo();
std::string old_usage_;
std::vector<std::tuple<size_t, size_t>> prev_times_; std::vector<std::tuple<size_t, size_t>> prev_times_;
waybar::util::SleeperThread thread_; waybar::util::SleeperThread thread_;
}; };

View File

@ -179,8 +179,13 @@ auto waybar::modules::Backlight::update() -> void {
} }
const auto percent = best->get_max() == 0 ? 100 : best->get_actual() * 100 / best->get_max(); const auto percent = best->get_max() == 0 ? 100 : best->get_actual() * 100 / best->get_max();
const auto percentClass = "percent" + std::to_string(int(std::ceil(percent/5)*5));
label_.set_markup(fmt::format( label_.set_markup(fmt::format(
format_, fmt::arg("percent", std::to_string(percent)), fmt::arg("icon", getIcon(percent)))); format_, fmt::arg("percent", std::to_string(percent)), fmt::arg("icon", getIcon(percent))));
label_.get_style_context()->remove_class(old_percent_);
label_.get_style_context()->add_class(percentClass);
old_percent_ = percentClass;
} else { } else {
if (!previous_best_.has_value()) { if (!previous_best_.has_value()) {
return; return;

View File

@ -144,8 +144,13 @@ auto waybar::modules::Battery::update() -> void {
std::transform(status.begin(), status.end(), status.begin(), ::tolower); std::transform(status.begin(), status.end(), status.begin(), ::tolower);
auto format = format_; auto format = format_;
auto state = getState(capacity); auto state = getState(capacity);
auto capacity_class = "percent" + std::to_string(int(std::ceil(capacity/5)*5));
label_.get_style_context()->remove_class(old_status_); label_.get_style_context()->remove_class(old_status_);
label_.get_style_context()->remove_class(old_capacity_);
label_.get_style_context()->add_class(status); label_.get_style_context()->add_class(status);
label_.get_style_context()->add_class(capacity_class);
old_capacity_ = capacity_class;
std::cout << fmt::format(capacity_class);
old_status_ = status; old_status_ = status;
if (!state.empty() && config_["format-" + status + "-" + state].isString()) { if (!state.empty() && config_["format-" + status + "-" + state].isString()) {
format = config_["format-" + status + "-" + state].asString(); format = config_["format-" + status + "-" + state].asString();

View File

@ -19,7 +19,11 @@ auto waybar::modules::Cpu::update() -> void {
if (tooltipEnabled()) { if (tooltipEnabled()) {
label_.set_tooltip_text(tooltip); label_.set_tooltip_text(tooltip);
} }
auto percent_class = "percent" + std::to_string(int(std::ceil(cpu_usage/5)*5));
label_.set_markup(fmt::format(format_, fmt::arg("load", cpu_load), fmt::arg("usage", cpu_usage))); label_.set_markup(fmt::format(format_, fmt::arg("load", cpu_load), fmt::arg("usage", cpu_usage)));
label_.get_style_context()->remove_class(old_usage_);
label_.get_style_context()->add_class(percent_class);
old_usage_ = percent_class;
} }
uint16_t waybar::modules::Cpu::getCpuLoad() { uint16_t waybar::modules::Cpu::getCpuLoad() {