diff --git a/include/ALabel.hpp b/include/ALabel.hpp index e1c8e0f6..cf2cc286 100644 --- a/include/ALabel.hpp +++ b/include/ALabel.hpp @@ -31,7 +31,7 @@ class ALabel : public IModule { virtual bool handleToggle(GdkEventButton *const &ev); virtual bool handleScroll(GdkEventScroll *); - virtual std::string getState(uint8_t value, bool reverse = false); + virtual std::string getState(uint8_t value, bool lesser = false); private: std::vector pid_; diff --git a/src/ALabel.cpp b/src/ALabel.cpp index 70e502a7..e1fa212d 100644 --- a/src/ALabel.cpp +++ b/src/ALabel.cpp @@ -129,7 +129,7 @@ std::string waybar::ALabel::getIcon(uint16_t percentage, const std::string& alt, return ""; } -std::string waybar::ALabel::getState(uint8_t value, bool reverse) { +std::string waybar::ALabel::getState(uint8_t value, bool lesser) { if (!config_["states"].isObject()) { return ""; } @@ -143,12 +143,12 @@ std::string waybar::ALabel::getState(uint8_t value, bool reverse) { } } // Sort states - std::sort(states.begin(), states.end(), [&reverse](auto& a, auto& b) { - return reverse ? a.second < b.second : a.second > b.second; + std::sort(states.begin(), states.end(), [&lesser](auto& a, auto& b) { + return lesser ? a.second < b.second : a.second > b.second; }); std::string valid_state; for (auto const& state : states) { - if (value <= state.second && valid_state.empty()) { + if ((lesser ? value <= state.second : value >= state.second) && valid_state.empty()) { label_.get_style_context()->add_class(state.first); valid_state = state.first; } else {