Also, I wouldn't know how to make it only show overlays when the system is idle, as I don't know how to read the system idle time counter, and I don't want to implement my own input idle checking based on hooking every possible input device in the system and running my own idle counter.
Aha, GetLastInputInfo should be useful for this purpose.
I've implemented the idle display control.
If there is a chance that foo_osd thinks user never becomes idle on my PC?
Hiding the overlay through the hide on stop trigger should stop it from reopening on idle when no track is playing now.
There is no automatic wrapping, but you may insert your own line feeds with $char(10) and separate the different fields into their own lines.