MCPcopy Create free account
hub / github.com/Alexays/Waybar / update

Method update

src/modules/load.cpp:20–50  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18}
19
20auto waybar::modules::Load::update() -> void {
21 // TODO: as creating dynamic fmt::arg arrays is buggy we have to calc both
22 auto [load1, load5, load15] = Load::getLoad();
23 if (tooltipEnabled()) {
24 auto tooltip = fmt::format("Load 1: {}\nLoad 5: {}\nLoad 15: {}", load1, load5, load15);
25 label_.set_tooltip_text(tooltip);
26 }
27 auto format = format_;
28 auto state = getState(load1);
29 if (!state.empty() && config_["format-" + state].isString()) {
30 format = config_["format-" + state].asString();
31 }
32
33 if (format.empty()) {
34 event_box_.hide();
35 } else {
36 event_box_.show();
37 auto icons = std::vector<std::string>{state};
38 fmt::dynamic_format_arg_store<fmt::format_context> store;
39 store.push_back(fmt::arg("load1", load1));
40 store.push_back(fmt::arg("load5", load5));
41 store.push_back(fmt::arg("load15", load15));
42 store.push_back(fmt::arg("icon1", getIcon(load1, icons)));
43 store.push_back(fmt::arg("icon5", getIcon(load5, icons)));
44 store.push_back(fmt::arg("icon15", getIcon(load15, icons)));
45 label_.set_markup(fmt::vformat(format, store));
46 }
47
48 // Call parent update
49 ALabel::update();
50}
51
52std::tuple<double, double, double> waybar::modules::Load::getLoad() {
53 double load[3];

Callers

nothing calls this directly

Calls 4

formatFunction · 0.85
emptyMethod · 0.80
hideMethod · 0.80
showMethod · 0.80

Tested by

no test coverage detected