Extending `idle_timeout` to execute gcode on wake-up

Hi,

I am trying to extend the idle_timeout module to be able to execute GCode on “wake-up”. Originally, I tried make use of the “idle_timeout:ready” event but that seemed to be the wrong event to hook into since for the most part, the printer goes into the “Printing” event when woken up rather than “Ready”.

Unfortunately, hooking into the “Printing” present a different problem - you can’t execute GCode from that even since Klipper is already executing GCode when the event happens and the GCode lock is locked.

One thing that comes to mind is adding the wake-up gcode to a queue but I don’t know how Klipper handles GCode streams. Is there a queue where I can add commands?