#pragma once #include "modules/meta/base.hpp" #include "utils/command.hpp" #include "utils/io.hpp" POLYBAR_NS namespace modules { class script_module : public module { public: explicit script_module(const bar_settings&, string); virtual ~script_module() {} virtual void start(); virtual void stop(); string get_output(); bool build(builder* builder, const string& tag) const; protected: virtual void process() = 0; virtual chrono::duration sleep_duration() = 0; static constexpr const char* TAG_OUTPUT{""}; static constexpr const char* TAG_LABEL{"