#pragma once #include #include "modules/meta/event_module.hpp" #include "utils/command.hpp" POLYBAR_NS namespace chrono = std::chrono; #define OUTPUT_ACTION(BUTTON) \ if (!m_actions[BUTTON].empty()) \ m_builder->cmd(BUTTON, string_util::replace_all(m_actions[BUTTON], "%counter%", counter_str)) namespace modules { /** * TODO: Split into timed-/streaming modules */ class script_module : public event_module { public: explicit script_module(const bar_settings&, string); void stop(); void idle(); bool has_event(); bool update(); string get_output(); bool build(builder* builder, const string& tag) const; protected: static constexpr const char* TAG_OUTPUT{""}; static constexpr const char* TAG_LABEL{"