refactor(modules): migrate state modules to ALabel tooltip helper

Migrate cpu, cpu_usage, cpu_frequency and memory to the generic
updateLabelAndTooltip/ForState helper so label and tooltip rendering go
through the dedup-aware setters and shared tooltip-format resolution.

Add store-accepting overloads of the helper to ALabel for modules that
build a dynamic fmt argument store (per-core cpu stats). cpu keeps its
tooltip-format-<state> selection via the state overload; the others keep
their existing tooltip-format-only behavior.
This commit is contained in:
Alex
2026-07-04 00:05:17 +02:00
parent a91dcbe595
commit 8dbba448ce
5 changed files with 42 additions and 76 deletions
+1 -15
View File
@@ -62,21 +62,7 @@ auto waybar::modules::Cpu::update() -> void {
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()) {
std::string tooltip_format;
if (!state.empty() && config_["tooltip-format-" + state].isString()) {
tooltip_format = config_["tooltip-format-" + state].asString();
} else if (config_["tooltip-format"].isString()) {
tooltip_format = config_["tooltip-format"].asString();
}
if (!tooltip_format.empty()) {
label_.set_tooltip_markup(fmt::vformat(tooltip_format, store));
} else {
label_.set_tooltip_markup(tooltip);
}
}
updateLabelAndTooltipForState(state, format, tooltip, store);
}
// Call parent update