Configuration

SystemMonitor

<SystemMonitor version="1"  timeout="5min"

  onIdle="sleep"
  onDemand="sleepless"

  onSuspend=""
  onSuspendTimeout="restart"
  onResume="">

  <NetworkMonitor />
  <NetworkSessionMonitor />
  <SessionMonitor />

  <ProcessMonitor />
  <PowerRequestMonitor />

</SystemMonitor>

timeout

duration:

This represents the duration for which all configured monitors must be idle to trigger the onIdle event. Since not all monitors may be able to determine a precise idle time, this is actually implemented as a periodic timer. Then the timer elapses and no monitor detects a usage, the action configured for the onIdle gets executed.

If you do not configure this option, no idle cheks will be performed whatsoever. As a consequence no nested monitor or resource will execute their onIdle actions ever. Some onDemand events may still be triggered, if the respective monitor has other means of detecting this.

onIdle

⚡️ event:

The onIdle event of the <SystemMonitor> gets triggered, when none of the nested monitor reports a usage. This would be a good moment to suspend the computer. Alternatively you can configure any of the other available actions.

onDemand

⚡️ event:

Each time when the timeout elapses and at least one nested monitor reports a usage, the onDemand action gets executed. To prevent the built-in power management from interfering with Desomnia’s workings, it is recommended to set the system to sleepless.

onSuspend

⚡️ event:

This event handler will be executed each time the system suspends. It could be triggered by Desomnia or another source.

onSuspendTimeout

⚡️ event:

If you configure the sleep action and the system does not suspend until the next timeout this event handler will be executed. If a low-level component is preventing the computer from sleeping, you could, for example, restart the system to restore normal sleep behaviour.

onResume

⚡️ event:

This event handler will be executed when the system wakes up from sleep.