Merge pull request #881 from olemartinorg/master

Support format-{state} for cpu/disk/memory
This commit is contained in:
Alex 2021-01-18 12:02:59 +01:00 committed by GitHub
commit 51bfe9eaf6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 52 additions and 21 deletions

View File

@ -15,8 +15,19 @@ auto waybar::modules::Cpu::update() -> void {
if (tooltipEnabled()) { if (tooltipEnabled()) {
label_.set_tooltip_text(tooltip); label_.set_tooltip_text(tooltip);
} }
label_.set_markup(fmt::format(format_, fmt::arg("load", cpu_load), fmt::arg("usage", cpu_usage))); auto format = format_;
getState(cpu_usage); auto state = getState(cpu_usage);
if (!state.empty() && config_["format-" + state].isString()) {
format = config_["format-" + state].asString();
}
if (format.empty()) {
event_box_.hide();
} else {
event_box_.show();
label_.set_markup(fmt::format(format, fmt::arg("load", cpu_load), fmt::arg("usage", cpu_usage)));
}
// Call parent update // Call parent update
ALabel::update(); ALabel::update();
} }

View File

@ -49,15 +49,27 @@ auto waybar::modules::Disk::update() -> void {
auto total = pow_format(stats.f_blocks * stats.f_frsize, "B", true); auto total = pow_format(stats.f_blocks * stats.f_frsize, "B", true);
auto percentage_used = (stats.f_blocks - stats.f_bavail) * 100 / stats.f_blocks; auto percentage_used = (stats.f_blocks - stats.f_bavail) * 100 / stats.f_blocks;
label_.set_markup(fmt::format(format_ auto format = format_;
, stats.f_bavail * 100 / stats.f_blocks auto state = getState(percentage_used);
, fmt::arg("free", free) if (!state.empty() && config_["format-" + state].isString()) {
, fmt::arg("percentage_free", stats.f_bavail * 100 / stats.f_blocks) format = config_["format-" + state].asString();
, fmt::arg("used", used) }
, fmt::arg("percentage_used", percentage_used)
, fmt::arg("total", total) if (format.empty()) {
, fmt::arg("path", path_) event_box_.hide();
)); } else {
event_box_.show();
label_.set_markup(fmt::format(format
, stats.f_bavail * 100 / stats.f_blocks
, fmt::arg("free", free)
, fmt::arg("percentage_free", stats.f_bavail * 100 / stats.f_blocks)
, fmt::arg("used", used)
, fmt::arg("percentage_used", percentage_used)
, fmt::arg("total", total)
, fmt::arg("path", path_)
));
}
if (tooltipEnabled()) { if (tooltipEnabled()) {
std::string tooltip_format = "{used} used out of {total} on {path} ({percentage_used}%)"; std::string tooltip_format = "{used} used out of {total} on {path} ({percentage_used}%)";
if (config_["tooltip-format"].isString()) { if (config_["tooltip-format"].isString()) {
@ -73,8 +85,6 @@ auto waybar::modules::Disk::update() -> void {
, fmt::arg("path", path_) , fmt::arg("path", path_)
)); ));
} }
event_box_.show();
getState(percentage_used);
// Call parent update // Call parent update
ALabel::update(); ALabel::update();
} }

View File

@ -28,13 +28,24 @@ auto waybar::modules::Memory::update() -> void {
auto used_ram_gigabytes = (memtotal - memfree) / std::pow(1024, 2); auto used_ram_gigabytes = (memtotal - memfree) / std::pow(1024, 2);
auto available_ram_gigabytes = memfree / std::pow(1024, 2); auto available_ram_gigabytes = memfree / std::pow(1024, 2);
getState(used_ram_percentage); auto format = format_;
label_.set_markup(fmt::format(format_, auto state = getState(used_ram_percentage);
used_ram_percentage, if (!state.empty() && config_["format-" + state].isString()) {
fmt::arg("total", total_ram_gigabytes), format = config_["format-" + state].asString();
fmt::arg("percentage", used_ram_percentage), }
fmt::arg("used", used_ram_gigabytes),
fmt::arg("avail", available_ram_gigabytes))); if (format.empty()) {
event_box_.hide();
} else {
event_box_.show();
label_.set_markup(fmt::format(format,
used_ram_percentage,
fmt::arg("total", total_ram_gigabytes),
fmt::arg("percentage", used_ram_percentage),
fmt::arg("used", used_ram_gigabytes),
fmt::arg("avail", available_ram_gigabytes)));
}
if (tooltipEnabled()) { if (tooltipEnabled()) {
if (config_["tooltip-format"].isString()) { if (config_["tooltip-format"].isString()) {
auto tooltip_format = config_["tooltip-format"].asString(); auto tooltip_format = config_["tooltip-format"].asString();
@ -48,7 +59,6 @@ auto waybar::modules::Memory::update() -> void {
label_.set_tooltip_text(fmt::format("{:.{}f}GiB used", used_ram_gigabytes, 1)); label_.set_tooltip_text(fmt::format("{:.{}f}GiB used", used_ram_gigabytes, 1));
} }
} }
event_box_.show();
} else { } else {
event_box_.hide(); event_box_.hide();
} }