Merge pull request #2820 from oxalica/feat/systemd-failed-units

Add module systemd-failed-units to monitor failed systemd units
This commit is contained in:
Alexis Rouillard
2024-01-12 09:45:40 +01:00
committed by GitHub
6 changed files with 237 additions and 0 deletions

View File

@ -93,6 +93,9 @@
#ifdef HAVE_LIBCAVA
#include "modules/cava.hpp"
#endif
#ifdef HAVE_SYSTEMD_MONITOR
#include "modules/systemd_failed_units.hpp"
#endif
#include "bar.hpp"
#include "modules/cffi.hpp"
#include "modules/custom.hpp"

View File

@ -0,0 +1,30 @@
#pragma once
#include <string>
#include <giomm/dbusproxy.h>
#include "ALabel.hpp"
namespace waybar::modules {
class SystemdFailedUnits : public ALabel {
public:
SystemdFailedUnits(const std::string&, const Json::Value&);
virtual ~SystemdFailedUnits();
auto update() -> void override;
private:
bool hide_on_ok;
std::string format_ok;
bool update_pending;
std::string last_status;
uint32_t nr_failed_system, nr_failed_user;
Glib::RefPtr<Gio::DBus::Proxy> system_proxy, user_proxy;
void notify_cb(const Glib::ustring &sender_name, const Glib::ustring &signal_name,
const Glib::VariantContainerBase &arguments);
void updateData();
};
} // namespace waybar::modules