Merge pull request #5054 from IVSOP/feat/cpu-icons-auto

feat(cpu): add {icons} format replacement for all per-core icons
This commit is contained in:
Alexis Rouillard
2026-07-03 23:11:19 +02:00
committed by GitHub
3 changed files with 22 additions and 2 deletions
+5 -1
View File
@@ -51,13 +51,17 @@ auto waybar::modules::Cpu::update() -> void {
store.push_back(fmt::arg("avg_frequency", avg_frequency));
std::vector<std::string> arg_names;
arg_names.reserve(cpu_usage.size() * 2);
std::string all_icons;
for (size_t i = 1; i < cpu_usage.size(); ++i) {
auto core_i = i - 1;
arg_names.push_back(fmt::format("usage{}", core_i));
store.push_back(fmt::arg(arg_names.back().c_str(), cpu_usage[i]));
auto core_icon = getIcon(cpu_usage[i], icons);
all_icons += core_icon;
arg_names.push_back(fmt::format("icon{}", core_i));
store.push_back(fmt::arg(arg_names.back().c_str(), getIcon(cpu_usage[i], icons)));
store.push_back(fmt::arg(arg_names.back().c_str(), core_icon));
}
store.push_back(fmt::arg("icons", all_icons));
label_.set_markup(fmt::vformat(format, store));
if (tooltipEnabled()) {
+5 -1
View File
@@ -38,13 +38,17 @@ auto waybar::modules::CpuUsage::update() -> void {
store.push_back(fmt::arg("icon", getIcon(total_usage, icons)));
std::vector<std::string> arg_names;
arg_names.reserve(cpu_usage.size() * 2);
std::string all_icons;
for (size_t i = 1; i < cpu_usage.size(); ++i) {
auto core_i = i - 1;
arg_names.push_back(fmt::format("usage{}", core_i));
store.push_back(fmt::arg(arg_names.back().c_str(), cpu_usage[i]));
auto core_icon = getIcon(cpu_usage[i], icons);
all_icons += core_icon;
arg_names.push_back(fmt::format("icon{}", core_i));
store.push_back(fmt::arg(arg_names.back().c_str(), getIcon(cpu_usage[i], icons)));
store.push_back(fmt::arg(arg_names.back().c_str(), core_icon));
}
store.push_back(fmt::arg("icons", all_icons));
label_.set_markup(fmt::vformat(format, store));
if (tooltipEnabled()) {