d592eea966
This allows us to identify module by their type and it is also better to store the module type as part of the module instead of having it hardcoded in factory.hpp
42 lines
871 B
C++
42 lines
871 B
C++
#if DEBUG
|
|
#pragma once
|
|
|
|
#include "modules/meta/static_module.hpp"
|
|
|
|
POLYBAR_NS
|
|
|
|
class connection;
|
|
|
|
namespace modules {
|
|
/**
|
|
* Module used to display information about the
|
|
* currently active X window.
|
|
*/
|
|
class systray_module : public static_module<systray_module> {
|
|
public:
|
|
explicit systray_module(const bar_settings&, string);
|
|
|
|
void update();
|
|
bool build(builder* builder, const string& tag) const;
|
|
|
|
static constexpr auto TYPE = "internal/systray";
|
|
|
|
protected:
|
|
bool input(string&& cmd);
|
|
|
|
private:
|
|
static constexpr const char* EVENT_TOGGLE{"systray-toggle"};
|
|
|
|
static constexpr const char* TAG_LABEL_TOGGLE{"<label-toggle>"};
|
|
static constexpr const char* TAG_TRAY_CLIENTS{"<tray-clients>"};
|
|
|
|
connection& m_connection;
|
|
label_t m_label;
|
|
|
|
bool m_hidden{false};
|
|
};
|
|
} // namespace modules
|
|
|
|
POLYBAR_NS_END
|
|
#endif
|