#pragma once #include #include #include "ALabel.hpp" namespace waybar { class AIconLabel : public ALabel { public: AIconLabel(const Json::Value &config, const std::string &name, const std::string &id, const std::string &format, uint16_t interval = 0, bool ellipsize = false, bool enable_click = false, bool enable_scroll = false); virtual ~AIconLabel() = default; auto update() -> void override; static std::tuple extractIcon(const std::string& input); protected: Gtk::Image image_; Gtk::Box box_; unsigned app_icon_size_{24}; bool label_contains_icon; bool iconEnabled() const; }; } // namespace waybar