#pragma once #include #include #include #include #include #include #include #include "ALabel.hpp" #include "util/sleeper_thread.hpp" namespace waybar::modules { class CpuUsage : public ALabel { public: CpuUsage(const std::string&, const Json::Value&); virtual ~CpuUsage() = default; auto update() -> void override; // This is a static member because it is also used by the cpu module. static std::tuple, std::string> getCpuUsage( std::vector>&); private: static std::vector> parseCpuinfo(); std::vector> prev_times_; util::SleeperThread thread_; }; } // namespace waybar::modules