#pragma once #include #include #include #include #include #include "common.hpp" #include "components/types.hpp" #include "errors.hpp" #include "utils/concurrency.hpp" #include "utils/functional.hpp" #include "utils/inotify.hpp" #include "utils/string.hpp" POLYBAR_NS namespace chrono = std::chrono; using namespace std::chrono_literals; using std::map; #define DEFAULT_FORMAT "format" #define DEFINE_MODULE(name, type) struct name : public type #define CONST_MOD(name) static_cast(*this) #define CAST_MOD(name) static_cast(this) // fwd decl {{{ namespace drawtypes { class label; using label_t = shared_ptr