#pragma once #include "modules/meta/timer_module.hpp" #include "modules/meta/types.hpp" #include "settings.hpp" POLYBAR_NS namespace modules { enum class cpu_state { NORMAL = 0, WARN }; struct cpu_time { unsigned long long user; unsigned long long nice; unsigned long long system; unsigned long long idle; unsigned long long steal; unsigned long long total; }; using cpu_time_t = unique_ptr; class cpu_module : public timer_module { public: explicit cpu_module(const bar_settings&, string, const config&); bool update(); string get_format() const; bool build(builder* builder, const string& tag) const; static constexpr auto TYPE = CPU_TYPE; protected: bool read_values(); float get_load(size_t core) const; private: static constexpr auto TAG_LABEL = "