add support for muted bluetooth audio, fix #420

This commit is contained in:
tufteddeer 2019-08-18 16:15:21 +02:00
parent e9b6380c18
commit d8b1b0d0af
No known key found for this signature in database
GPG Key ID: C3C99AECD84FFBFF
2 changed files with 12 additions and 9 deletions

View File

@ -116,6 +116,7 @@
// "scroll-step": 1, // %, can be a float
"format": "{volume}% {icon} {format_source}",
"format-bluetooth": "{volume}% {icon} {format_source}",
"format-bluetooth-muted": " {icon} {format_source}",
"format-muted": " {format_source}",
"format-source": "{volume}% ",
"format-source-muted": "",

View File

@ -197,19 +197,21 @@ const std::string waybar::modules::Pulseaudio::getPortIcon() const {
auto waybar::modules::Pulseaudio::update() -> void {
auto format = format_;
if (muted_) {
format = config_["format-muted"].isString() ? config_["format-muted"].asString() : format;
label_.get_style_context()->add_class("muted");
} else {
label_.get_style_context()->remove_class("muted");
std::string format_name = "format";
if (monitor_.find("a2dp_sink") != std::string::npos) {
format =
config_["format-bluetooth"].isString() ? config_["format-bluetooth"].asString() : format;
format_name = format_name + "-bluetooth";
label_.get_style_context()->add_class("bluetooth");
} else {
label_.get_style_context()->remove_class("bluetooth");
}
if (muted_ ) {
format_name = format_name + "-muted";
label_.get_style_context()->add_class("muted");
} else {
label_.get_style_context()->remove_class("muted");
}
format =
config_[format_name].isString() ? config_[format_name].asString() : format;
// TODO: find a better way to split source/sink
std::string format_source = "{volume}%";
if (source_muted_ && config_["format-source-muted"].isString()) {