Implemented format-{state} for cpu/disk/memory

This commit is contained in:
Ole Martin Handeland 2020-10-12 02:05:26 +02:00
parent 5e86014443
commit 4229e9b2ca
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,7 +49,17 @@ 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_;
auto state = getState(percentage_used);
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
, stats.f_bavail * 100 / stats.f_blocks , stats.f_bavail * 100 / stats.f_blocks
, fmt::arg("free", free) , fmt::arg("free", free)
, fmt::arg("percentage_free", stats.f_bavail * 100 / stats.f_blocks) , fmt::arg("percentage_free", stats.f_bavail * 100 / stats.f_blocks)
@ -58,6 +68,8 @@ auto waybar::modules::Disk::update() -> void {
, fmt::arg("total", total) , fmt::arg("total", total)
, fmt::arg("path", path_) , 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);
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,
used_ram_percentage, used_ram_percentage,
fmt::arg("total", total_ram_gigabytes), fmt::arg("total", total_ram_gigabytes),
fmt::arg("percentage", used_ram_percentage), fmt::arg("percentage", used_ram_percentage),
fmt::arg("used", used_ram_gigabytes), fmt::arg("used", used_ram_gigabytes),
fmt::arg("avail", available_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();
} }