Merge branch 'Alexays:master' into master
This commit is contained in:
commit
3462769fc1
|
@ -55,8 +55,8 @@ Addressed by *custom/<name>*
|
||||||
|
|
||||||
*format*: ++
|
*format*: ++
|
||||||
typeof: string ++
|
typeof: string ++
|
||||||
default: {} ++
|
default: {text} ++
|
||||||
The format, how information should be displayed. On {} data gets inserted.
|
The format, how information should be displayed. On {text} data gets inserted.
|
||||||
|
|
||||||
*format-icons*: ++
|
*format-icons*: ++
|
||||||
typeof: array ++
|
typeof: array ++
|
||||||
|
@ -160,7 +160,7 @@ $text\\n$tooltip\\n$class*
|
||||||
|
|
||||||
# FORMAT REPLACEMENTS
|
# FORMAT REPLACEMENTS
|
||||||
|
|
||||||
*{}*: Output of the script.
|
*{text}*: Output of the script.
|
||||||
|
|
||||||
*{percentage}* Percentage which can be set via a json return type.
|
*{percentage}* Percentage which can be set via a json return type.
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ $text\\n$tooltip\\n$class*
|
||||||
|
|
||||||
```
|
```
|
||||||
"custom/spotify": {
|
"custom/spotify": {
|
||||||
"format": " {}",
|
"format": " {text}",
|
||||||
"max-length": 40,
|
"max-length": 40,
|
||||||
"interval": 30, // Remove this if your script is endless and write in loop
|
"interval": 30, // Remove this if your script is endless and write in loop
|
||||||
"exec": "$HOME/.config/waybar/mediaplayer.sh 2> /dev/null", // Script in resources folder
|
"exec": "$HOME/.config/waybar/mediaplayer.sh 2> /dev/null", // Script in resources folder
|
||||||
|
@ -185,7 +185,7 @@ $text\\n$tooltip\\n$class*
|
||||||
|
|
||||||
```
|
```
|
||||||
"custom/mpd": {
|
"custom/mpd": {
|
||||||
"format": "♪ {}",
|
"format": "♪ {text}",
|
||||||
//"max-length": 15,
|
//"max-length": 15,
|
||||||
"interval": 10,
|
"interval": 10,
|
||||||
"exec": "mpc current",
|
"exec": "mpc current",
|
||||||
|
@ -199,7 +199,7 @@ $text\\n$tooltip\\n$class*
|
||||||
|
|
||||||
```
|
```
|
||||||
"custom/cmus": {
|
"custom/cmus": {
|
||||||
"format": "♪ {}",
|
"format": "♪ {text}",
|
||||||
//"max-length": 15,
|
//"max-length": 15,
|
||||||
"interval": 10,
|
"interval": 10,
|
||||||
"exec": "cmus-remote -C \"format_print '%a - %t'\"", // artist - title
|
"exec": "cmus-remote -C \"format_print '%a - %t'\"", // artist - title
|
||||||
|
@ -214,7 +214,7 @@ $text\\n$tooltip\\n$class*
|
||||||
```
|
```
|
||||||
|
|
||||||
"custom/pacman": {
|
"custom/pacman": {
|
||||||
"format": "{} ",
|
"format": "{text} ",
|
||||||
"interval": "once",
|
"interval": "once",
|
||||||
"exec": "pacman_packages",
|
"exec": "pacman_packages",
|
||||||
"on-click": "update-system",
|
"on-click": "update-system",
|
||||||
|
@ -226,7 +226,7 @@ $text\\n$tooltip\\n$class*
|
||||||
|
|
||||||
```
|
```
|
||||||
"custom/pacman": {
|
"custom/pacman": {
|
||||||
"format": "{} ",
|
"format": "{text} ",
|
||||||
"interval": 3600, // every hour
|
"interval": 3600, // every hour
|
||||||
"exec": "checkupdates | wc -l", // # of updates
|
"exec": "checkupdates | wc -l", // # of updates
|
||||||
"exec-if": "exit 0", // always run; consider advanced run conditions
|
"exec-if": "exit 0", // always run; consider advanced run conditions
|
||||||
|
|
|
@ -189,7 +189,7 @@
|
||||||
"on-click": "pavucontrol"
|
"on-click": "pavucontrol"
|
||||||
},
|
},
|
||||||
"custom/media": {
|
"custom/media": {
|
||||||
"format": "{icon} {}",
|
"format": "{icon} {text}",
|
||||||
"return-type": "json",
|
"return-type": "json",
|
||||||
"max-length": 40,
|
"max-length": 40,
|
||||||
"format-icons": {
|
"format-icons": {
|
||||||
|
|
|
@ -159,43 +159,52 @@ auto waybar::modules::Custom::update() -> void {
|
||||||
parseOutputRaw();
|
parseOutputRaw();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto str = fmt::format(fmt::runtime(format_), text_, fmt::arg("alt", alt_),
|
try {
|
||||||
fmt::arg("icon", getIcon(percentage_, alt_)),
|
auto str = fmt::format(fmt::runtime(format_), fmt::arg("text", text_), fmt::arg("alt", alt_),
|
||||||
fmt::arg("percentage", percentage_));
|
fmt::arg("icon", getIcon(percentage_, alt_)),
|
||||||
if ((config_["hide-empty-text"].asBool() && text_.empty()) || str.empty()) {
|
fmt::arg("percentage", percentage_));
|
||||||
event_box_.hide();
|
if ((config_["hide-empty-text"].asBool() && text_.empty()) || str.empty()) {
|
||||||
} else {
|
event_box_.hide();
|
||||||
label_.set_markup(str);
|
} else {
|
||||||
if (tooltipEnabled()) {
|
label_.set_markup(str);
|
||||||
if (tooltip_format_enabled_) {
|
if (tooltipEnabled()) {
|
||||||
auto tooltip = config_["tooltip-format"].asString();
|
if (tooltip_format_enabled_) {
|
||||||
tooltip = fmt::format(fmt::runtime(tooltip), text_, fmt::arg("alt", alt_),
|
auto tooltip = config_["tooltip-format"].asString();
|
||||||
fmt::arg("icon", getIcon(percentage_, alt_)),
|
tooltip = fmt::format(
|
||||||
fmt::arg("percentage", percentage_));
|
fmt::runtime(tooltip), fmt::arg("text", text_), fmt::arg("alt", alt_),
|
||||||
label_.set_tooltip_markup(tooltip);
|
fmt::arg("icon", getIcon(percentage_, alt_)), fmt::arg("percentage", percentage_));
|
||||||
} else if (text_ == tooltip_) {
|
label_.set_tooltip_markup(tooltip);
|
||||||
if (label_.get_tooltip_markup() != str) {
|
} else if (text_ == tooltip_) {
|
||||||
label_.set_tooltip_markup(str);
|
if (label_.get_tooltip_markup() != str) {
|
||||||
}
|
label_.set_tooltip_markup(str);
|
||||||
} else {
|
}
|
||||||
if (label_.get_tooltip_markup() != tooltip_) {
|
} else {
|
||||||
label_.set_tooltip_markup(tooltip_);
|
if (label_.get_tooltip_markup() != tooltip_) {
|
||||||
|
label_.set_tooltip_markup(tooltip_);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
auto style = label_.get_style_context();
|
||||||
|
auto classes = style->list_classes();
|
||||||
|
for (auto const& c : classes) {
|
||||||
|
if (c == id_) continue;
|
||||||
|
style->remove_class(c);
|
||||||
|
}
|
||||||
|
for (auto const& c : class_) {
|
||||||
|
style->add_class(c);
|
||||||
|
}
|
||||||
|
style->add_class("flat");
|
||||||
|
style->add_class("text-button");
|
||||||
|
style->add_class(MODULE_CLASS);
|
||||||
|
event_box_.show();
|
||||||
}
|
}
|
||||||
auto style = label_.get_style_context();
|
} catch (const fmt::format_error& e) {
|
||||||
auto classes = style->list_classes();
|
if (std::strcmp(e.what(), "cannot switch from manual to automatic argument indexing") != 0)
|
||||||
for (auto const& c : classes) {
|
throw;
|
||||||
if (c == id_) continue;
|
|
||||||
style->remove_class(c);
|
throw fmt::format_error(
|
||||||
}
|
"mixing manual and automatic argument indexing is no longer supported; "
|
||||||
for (auto const& c : class_) {
|
"try replacing \"{}\" with \"{text}\" in your format specifier");
|
||||||
style->add_class(c);
|
|
||||||
}
|
|
||||||
style->add_class("flat");
|
|
||||||
style->add_class("text-button");
|
|
||||||
style->add_class(MODULE_CLASS);
|
|
||||||
event_box_.show();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Call parent update
|
// Call parent update
|
||||||
|
|
Loading…
Reference in New Issue