#pragma once #include "modules/base.hpp" #include "services/command.hpp" namespace modules { DefineModule(ScriptModule, TimerModule) { static constexpr auto TAG_OUTPUT = ""; std::unique_ptr builder; std::unique_ptr command; std::string exec; bool tail = false; std::string click_left; std::string click_middle; std::string click_right; std::string scroll_up; std::string scroll_down; std::string output; std::atomic counter; protected: public: explicit ScriptModule(const std::string& name); void start(); bool update(); bool build(Builder *builder, const std::string& tag); std::string get_output(); }; }