!7 cmodule MonitorOffTimer > DynPrintLogAndEnabled { switchable double timeout = 60.0; // seconds transient new RestartableCountdown countdown; start { dm_restartOnField timeout(); dm_require("#1020622/UserActivityDetector"); startCountdown(); dm_vmBus_onMessage userActivityDetected(r startCountdown); } void bam enter { if (enabled) monitorOff(); } void startCountdown { countdown.start(max(timeout, 10.0), r bam); } }