From 622f22d6b59da9bfbfabb9e9f70fa2c520ffad86 Mon Sep 17 00:00:00 2001 From: Bahnschrift Date: Thu, 19 Dec 2024 12:09:31 +1100 Subject: [PATCH] fix: hide tray when there are no non-passive icons --- src/modules/sni/tray.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/sni/tray.cpp b/src/modules/sni/tray.cpp index a2c56808b..f194c1d96 100644 --- a/src/modules/sni/tray.cpp +++ b/src/modules/sni/tray.cpp @@ -2,6 +2,8 @@ #include +#include + namespace waybar::modules::SNI { Tray::Tray(const std::string& id, const Bar& bar, const Json::Value& config) @@ -39,7 +41,9 @@ void Tray::onRemove(std::unique_ptr& item) { auto Tray::update() -> void { // Show tray only when items are available - event_box_.set_visible(!box_.get_children().empty()); + std::vector children = box_.get_children(); + event_box_.set_visible(std::any_of(children.begin(), children.end(), + [](Gtk::Widget* child) { return child->get_visible(); })); // Call parent update AModule::update(); }