feat(percent): adds a percent class to numeric modules
This commit is contained in:
		
							parent
							
								
									1a024db03c
								
							
						
					
					
						commit
						472363a623
					
				| 
						 | 
				
			
			@ -51,6 +51,8 @@ class Backlight : public ALabel {
 | 
			
		|||
  const std::string    preferred_device_;
 | 
			
		||||
  static constexpr int EPOLL_MAX_EVENTS = 16;
 | 
			
		||||
 | 
			
		||||
  std::string          old_percent_;
 | 
			
		||||
 | 
			
		||||
  std::optional<BacklightDev> previous_best_;
 | 
			
		||||
  std::string                 previous_format_;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,6 +43,7 @@ class Battery : public ALabel {
 | 
			
		|||
  int                   fd_;
 | 
			
		||||
  std::vector<int>      wds_;
 | 
			
		||||
  std::string           old_status_;
 | 
			
		||||
  std::string           old_capacity_;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
}  // namespace waybar::modules
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,6 +23,8 @@ class Cpu : public ALabel {
 | 
			
		|||
  std::tuple<uint16_t, std::string>       getCpuUsage();
 | 
			
		||||
  std::vector<std::tuple<size_t, size_t>> parseCpuinfo();
 | 
			
		||||
 | 
			
		||||
  std::string                             old_usage_;
 | 
			
		||||
 | 
			
		||||
  std::vector<std::tuple<size_t, size_t>> prev_times_;
 | 
			
		||||
  waybar::util::SleeperThread             thread_;
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 percentClass = "percent" + std::to_string(int(std::ceil(percent/5)*5));
 | 
			
		||||
 | 
			
		||||
    label_.set_markup(fmt::format(
 | 
			
		||||
        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 {
 | 
			
		||||
    if (!previous_best_.has_value()) {
 | 
			
		||||
      return;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -144,8 +144,13 @@ auto waybar::modules::Battery::update() -> void {
 | 
			
		|||
  std::transform(status.begin(), status.end(), status.begin(), ::tolower);
 | 
			
		||||
  auto format = format_;
 | 
			
		||||
  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_capacity_);
 | 
			
		||||
  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;
 | 
			
		||||
  if (!state.empty() && config_["format-" + status + "-" + state].isString()) {
 | 
			
		||||
    format = config_["format-" + status + "-" + state].asString();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,11 @@ auto waybar::modules::Cpu::update() -> void {
 | 
			
		|||
  if (tooltipEnabled()) {
 | 
			
		||||
    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_.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() {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue