mirror of
https://github.com/rad4day/Waybar.git
synced 2025-07-14 23:22:31 +02:00
refactor: lint
This commit is contained in:
@ -6,12 +6,11 @@
|
||||
|
||||
namespace {
|
||||
|
||||
using DBus = std::unique_ptr<GDBusConnection, void(*)(GDBusConnection*)>;
|
||||
using DBus = std::unique_ptr<GDBusConnection, void (*)(GDBusConnection*)>;
|
||||
|
||||
auto dbus() -> DBus {
|
||||
GError *error = nullptr;
|
||||
GDBusConnection* connection =
|
||||
g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error);
|
||||
GError* error = nullptr;
|
||||
GDBusConnection* connection = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error);
|
||||
|
||||
if (error) {
|
||||
spdlog::error("g_bus_get_sync() failed: {}", error->message);
|
||||
@ -20,46 +19,29 @@ auto dbus() -> DBus {
|
||||
}
|
||||
|
||||
auto destructor = [](GDBusConnection* connection) {
|
||||
GError *error = nullptr;
|
||||
g_dbus_connection_close_sync(connection, nullptr, &error);
|
||||
if (error) {
|
||||
spdlog::error(
|
||||
"g_bus_connection_close_sync failed(): {}",
|
||||
error->message);
|
||||
g_error_free(error);
|
||||
}
|
||||
GError* error = nullptr;
|
||||
g_dbus_connection_close_sync(connection, nullptr, &error);
|
||||
if (error) {
|
||||
spdlog::error("g_bus_connection_close_sync failed(): {}", error->message);
|
||||
g_error_free(error);
|
||||
}
|
||||
};
|
||||
|
||||
return DBus{connection, destructor};
|
||||
}
|
||||
|
||||
auto getLocks(const DBus& bus, const std::string& inhibitors) -> int {
|
||||
GError *error = nullptr;
|
||||
GError* error = nullptr;
|
||||
GUnixFDList* fd_list;
|
||||
int handle;
|
||||
|
||||
auto reply = g_dbus_connection_call_with_unix_fd_list_sync(bus.get(),
|
||||
"org.freedesktop.login1",
|
||||
"/org/freedesktop/login1",
|
||||
"org.freedesktop.login1.Manager",
|
||||
"Inhibit",
|
||||
g_variant_new(
|
||||
"(ssss)",
|
||||
inhibitors.c_str(),
|
||||
"waybar",
|
||||
"Asked by user",
|
||||
"block"),
|
||||
G_VARIANT_TYPE("(h)"),
|
||||
G_DBUS_CALL_FLAGS_NONE,
|
||||
-1,
|
||||
nullptr,
|
||||
&fd_list,
|
||||
nullptr,
|
||||
&error);
|
||||
auto reply = g_dbus_connection_call_with_unix_fd_list_sync(
|
||||
bus.get(), "org.freedesktop.login1", "/org/freedesktop/login1",
|
||||
"org.freedesktop.login1.Manager", "Inhibit",
|
||||
g_variant_new("(ssss)", inhibitors.c_str(), "waybar", "Asked by user", "block"),
|
||||
G_VARIANT_TYPE("(h)"), G_DBUS_CALL_FLAGS_NONE, -1, nullptr, &fd_list, nullptr, &error);
|
||||
if (error) {
|
||||
spdlog::error(
|
||||
"g_dbus_connection_call_with_unix_fd_list_sync() failed: {}",
|
||||
error->message);
|
||||
spdlog::error("g_dbus_connection_call_with_unix_fd_list_sync() failed: {}", error->message);
|
||||
g_error_free(error);
|
||||
handle = -1;
|
||||
} else {
|
||||
@ -74,18 +56,15 @@ auto getLocks(const DBus& bus, const std::string& inhibitors) -> int {
|
||||
}
|
||||
|
||||
auto checkInhibitor(const std::string& inhibitor) -> const std::string& {
|
||||
static const auto inhibitors = std::array{
|
||||
"idle",
|
||||
"shutdown",
|
||||
"sleep",
|
||||
"handle-power-key",
|
||||
"handle-suspend-key",
|
||||
"handle-hibernate-key",
|
||||
"handle-lid-switch"
|
||||
};
|
||||
static const auto inhibitors = std::array{"idle",
|
||||
"shutdown",
|
||||
"sleep",
|
||||
"handle-power-key",
|
||||
"handle-suspend-key",
|
||||
"handle-hibernate-key",
|
||||
"handle-lid-switch"};
|
||||
|
||||
if (std::find(inhibitors.begin(), inhibitors.end(), inhibitor)
|
||||
== inhibitors.end()) {
|
||||
if (std::find(inhibitors.begin(), inhibitors.end(), inhibitor) == inhibitors.end()) {
|
||||
throw std::runtime_error("invalid logind inhibitor " + inhibitor);
|
||||
}
|
||||
|
||||
@ -114,18 +93,16 @@ auto getInhibitors(const Json::Value& config) -> std::string {
|
||||
return inhibitors;
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace
|
||||
|
||||
namespace waybar::modules {
|
||||
|
||||
Inhibitor::Inhibitor(const std::string& id, const Bar& bar,
|
||||
const Json::Value& config)
|
||||
Inhibitor::Inhibitor(const std::string& id, const Bar& bar, const Json::Value& config)
|
||||
: ALabel(config, "inhibitor", id, "{status}", true),
|
||||
dbus_(::dbus()),
|
||||
inhibitors_(::getInhibitors(config)) {
|
||||
event_box_.add_events(Gdk::BUTTON_PRESS_MASK);
|
||||
event_box_.signal_button_press_event().connect(
|
||||
sigc::mem_fun(*this, &Inhibitor::handleToggle));
|
||||
event_box_.signal_button_press_event().connect(sigc::mem_fun(*this, &Inhibitor::handleToggle));
|
||||
dp.emit();
|
||||
}
|
||||
|
||||
@ -135,18 +112,14 @@ Inhibitor::~Inhibitor() {
|
||||
}
|
||||
}
|
||||
|
||||
auto Inhibitor::activated() -> bool {
|
||||
return handle_ != -1;
|
||||
}
|
||||
auto Inhibitor::activated() -> bool { return handle_ != -1; }
|
||||
|
||||
auto Inhibitor::update() -> void {
|
||||
std::string status_text = activated() ? "activated" : "deactivated";
|
||||
|
||||
label_.get_style_context()->remove_class(
|
||||
activated() ? "deactivated" : "activated");
|
||||
label_.set_markup(
|
||||
fmt::format(format_, fmt::arg("status", status_text),
|
||||
fmt::arg("icon", getIcon(0, status_text))));
|
||||
label_.get_style_context()->remove_class(activated() ? "deactivated" : "activated");
|
||||
label_.set_markup(fmt::format(format_, fmt::arg("status", status_text),
|
||||
fmt::arg("icon", getIcon(0, status_text))));
|
||||
label_.get_style_context()->add_class(status_text);
|
||||
|
||||
if (tooltipEnabled()) {
|
||||
@ -172,4 +145,4 @@ auto Inhibitor::handleToggle(GdkEventButton* const& e) -> bool {
|
||||
return ALabel::handleToggle(e);
|
||||
}
|
||||
|
||||
} // waybar::modules
|
||||
} // namespace waybar::modules
|
||||
|
Reference in New Issue
Block a user