diff --git a/src/modules/battery.cpp b/src/modules/battery.cpp index e60d8c0b..50166837 100644 --- a/src/modules/battery.cpp +++ b/src/modules/battery.cpp @@ -22,7 +22,7 @@ waybar::modules::Battery::Battery(Json::Value config) _label.get_style_context()->add_class("battery"); int interval = _config["interval"] ? _config["inveral"].asInt() : 1; _thread = [this, interval] { - update(); + Glib::signal_idle().connect_once(sigc::mem_fun(*this, &Battery::update)); _thread.sleep_for(chrono::seconds(interval)); }; } diff --git a/src/modules/clock.cpp b/src/modules/clock.cpp index b7950715..92d23453 100644 --- a/src/modules/clock.cpp +++ b/src/modules/clock.cpp @@ -5,9 +5,7 @@ waybar::modules::Clock::Clock(Json::Value config) { _label.get_style_context()->add_class("clock"); _thread = [this] { - Glib::signal_idle().connect_once([this] { - update(); - }); + Glib::signal_idle().connect_once(sigc::mem_fun(*this, &Clock::update)); auto now = waybar::chrono::clock::now(); auto timeout = std::chrono::floor(now + std::chrono::minutes(1)); diff --git a/src/modules/cpu.cpp b/src/modules/cpu.cpp index 534f50de..76bc8042 100644 --- a/src/modules/cpu.cpp +++ b/src/modules/cpu.cpp @@ -6,9 +6,7 @@ waybar::modules::Cpu::Cpu(Json::Value config) _label.get_style_context()->add_class("cpu"); int interval = _config["interval"] ? _config["inveral"].asInt() : 10; _thread = [this, interval] { - Glib::signal_idle().connect_once([this] { - update(); - }); + Glib::signal_idle().connect_once(sigc::mem_fun(*this, &Cpu::update)); _thread.sleep_for(chrono::seconds(interval)); }; }; diff --git a/src/modules/custom.cpp b/src/modules/custom.cpp index e6ad7c39..a2decc05 100644 --- a/src/modules/custom.cpp +++ b/src/modules/custom.cpp @@ -10,9 +10,7 @@ waybar::modules::Custom::Custom(std::string name, Json::Value config) } int interval = _config["interval"] ? _config["inveral"].asInt() : 30; _thread = [this, interval] { - Glib::signal_idle().connect_once([this] { - update(); - }); + Glib::signal_idle().connect_once(sigc::mem_fun(*this, &Custom::update)); _thread.sleep_for(chrono::seconds(interval)); }; }; diff --git a/src/modules/memory.cpp b/src/modules/memory.cpp index a69cfe6a..19bf5b76 100644 --- a/src/modules/memory.cpp +++ b/src/modules/memory.cpp @@ -6,9 +6,7 @@ waybar::modules::Memory::Memory(Json::Value config) _label.get_style_context()->add_class("memory"); int interval = _config["interval"] ? _config["inveral"].asInt() : 30; _thread = [this, interval] { - Glib::signal_idle().connect_once([this] { - update(); - }); + Glib::signal_idle().connect_once(sigc::mem_fun(*this, &Memory::update)); _thread.sleep_for(chrono::seconds(interval)); }; }; diff --git a/src/modules/network.cpp b/src/modules/network.cpp index 9aa6948e..721b2f93 100644 --- a/src/modules/network.cpp +++ b/src/modules/network.cpp @@ -6,9 +6,7 @@ waybar::modules::Network::Network(Json::Value config) _label.get_style_context()->add_class("network"); int interval = _config["interval"] ? _config["inveral"].asInt() : 30; _thread = [this, interval] { - Glib::signal_idle().connect_once([this] { - update(); - }); + Glib::signal_idle().connect_once(sigc::mem_fun(*this, &Network::update)); _thread.sleep_for(chrono::minutes(1)); }; }; diff --git a/src/modules/pulseaudio.cpp b/src/modules/pulseaudio.cpp index dbc3f8ba..1fe5ad15 100644 --- a/src/modules/pulseaudio.cpp +++ b/src/modules/pulseaudio.cpp @@ -80,7 +80,7 @@ void waybar::modules::Pulseaudio::_sinkInfoCb(pa_context *context, pa->_volume = volume * 100.0f; pa->_muted = i->mute; pa->_desc = i->description; - pa->update(); + Glib::signal_idle().connect_once(sigc::mem_fun(*pa, &Pulseaudio::update)); } } diff --git a/src/modules/workspaces.cpp b/src/modules/workspaces.cpp index 1777c8bc..f3910e98 100644 --- a/src/modules/workspaces.cpp +++ b/src/modules/workspaces.cpp @@ -17,9 +17,7 @@ waybar::modules::Workspaces::Workspaces(Bar &bar) return; } _thread = [this] { - Glib::signal_idle().connect_once([this] { - update(); - }); + Glib::signal_idle().connect_once(sigc::mem_fun(*this, &Workspaces::update)); _thread.sleep_for(chrono::milliseconds(250)); }; } @@ -95,7 +93,7 @@ Json::Value waybar::modules::Workspaces::_getWorkspaces() delete reader; if (!res) { std::cerr << err << std::endl; - return nullptr; + return root; } } catch (const std::exception& e) { std::cerr << e.what() << std::endl;