#pragma once #include "common.hpp" #include "components/bar.hpp" #include "modules/meta/static_module.hpp" #include "x11/tray_manager.hpp" POLYBAR_NS namespace modules { class tray_module : public static_module, public signal_receiver { public: explicit tray_module(const bar_settings& bar_settings, string name_); string get_format() const; void start() override; bool build(builder* builder, const string& tag) const; void update() {} void teardown(); bool on(const signals::ui_tray::tray_width_change& evt) override; static constexpr auto TYPE = "internal/tray"; private: static constexpr const char* TAG_TRAY{""}; tray_manager m_tray; }; } // namespace modules POLYBAR_NS_END