feat(modules): pause background threads when display is asleep

Currently, modules polling hardware nodes continuously wake up kernel drivers even when the monitor is asleep (e.g., DPMS off), flooding dmesg.

- Adds 'disable-on-sleep' config flag
- Hooks GTK window map/unmap signals to track DPMS state
- Propagates suspend/resume calls to AModule worker threads
This commit is contained in:
Ibrahim Issa
2026-07-03 18:44:03 +02:00
parent 05945748dc
commit 4d1a561cdc
7 changed files with 72 additions and 2 deletions
+3
View File
@@ -21,6 +21,9 @@ AModule::AModule(const Json::Value& config, const std::string& name, const std::
// Configure module action Map
const Json::Value actions{config_["actions"]};
disable_on_sleep_ =
config_["disable-on-sleep"].isBool() ? config_["disable-on-sleep"].asBool() : false;
for (Json::Value::const_iterator it = actions.begin(); it != actions.end(); ++it) {
if (it.key().isString() && it->isString())
if (!eventActionMap_.contains(it.key().asString())) {