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