Files
Waybar/include/modules/cava/cavaRaw.hpp
T

31 lines
859 B
C++
Raw Normal View History

2025-09-26 23:34:11 +03:00
#pragma once
#include "ALabel.hpp"
#include "cava_backend.hpp"
namespace waybar::modules::cava {
class Cava final : public ALabel, public sigc::trackable {
public:
Cava(const std::string&, const Json::Value&);
~Cava() = default;
auto doAction(const std::string& name) -> void override;
private:
std::shared_ptr<CavaBackend> backend_;
// Text to display
2025-11-26 13:26:32 +03:00
Glib::ustring label_text_{""};
2025-12-07 23:08:55 +03:00
bool silence_{false};
2025-09-26 23:34:11 +03:00
bool hide_on_silence_{false};
std::string format_silent_{""};
int ascii_range_{0};
// Cava method
void pause_resume();
2025-12-07 23:08:55 +03:00
auto onUpdate(const std::string& input) -> void;
auto onSilence() -> void;
2025-09-26 23:34:11 +03:00
// ModuleActionMap
static inline std::map<const std::string, void (waybar::modules::cava::Cava::* const)()>
actionMap_{{"mode", &waybar::modules::cava::Cava::pause_resume}};
};
} // namespace waybar::modules::cava