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
48 lines
1.5 KiB
C++
48 lines
1.5 KiB
C++
#pragma once
|
|
|
|
#include "modules/meta/timer_module.hpp"
|
|
#include "settings.hpp"
|
|
|
|
POLYBAR_NS
|
|
|
|
namespace modules {
|
|
enum class memtype { NONE = 0, TOTAL, USED, FREE, SHARED, BUFFERS, CACHE, AVAILABLE };
|
|
|
|
class memory_module : public timer_module<memory_module> {
|
|
public:
|
|
explicit memory_module(const bar_settings&, string);
|
|
|
|
bool update();
|
|
bool build(builder* builder, const string& tag) const;
|
|
|
|
static constexpr auto TYPE = "internal/memory";
|
|
|
|
private:
|
|
static constexpr const char* TAG_LABEL{"<label>"};
|
|
static constexpr const char* TAG_BAR_USED{"<bar-used>"};
|
|
static constexpr const char* TAG_BAR_FREE{"<bar-free>"};
|
|
static constexpr const char* TAG_RAMP_USED{"<ramp-used>"};
|
|
static constexpr const char* TAG_RAMP_FREE{"<ramp-free>"};
|
|
static constexpr const char* TAG_BAR_SWAP_USED{"<bar-swap-used>"};
|
|
static constexpr const char* TAG_BAR_SWAP_FREE{"<bar-swap-free>"};
|
|
static constexpr const char* TAG_RAMP_SWAP_USED{"<ramp-swap-used>"};
|
|
static constexpr const char* TAG_RAMP_SWAP_FREE{"<ramp-swap-free>"};
|
|
|
|
label_t m_label;
|
|
progressbar_t m_bar_memused;
|
|
progressbar_t m_bar_memfree;
|
|
int m_perc_memused{0};
|
|
int m_perc_memfree{0};
|
|
ramp_t m_ramp_memused;
|
|
ramp_t m_ramp_memfree;
|
|
progressbar_t m_bar_swapused;
|
|
progressbar_t m_bar_swapfree;
|
|
int m_perc_swap_used{0};
|
|
int m_perc_swap_free{0};
|
|
ramp_t m_ramp_swapused;
|
|
ramp_t m_ramp_swapfree;
|
|
};
|
|
} // namespace modules
|
|
|
|
POLYBAR_NS_END
|