Con un vistazo rápido a cómo lo hacen mplayer y SDL, hay dos cosas que puede hacer para evitar que se active el protector de pantalla:
- Desactívelo mientras dure el programa:
- Usando
XScreenSaverSuspend
- Usando DBus, llamando a
org.freedesktop.ScreenSaver.Inhibit
- Usando
- Envíelo periódicamente:
- Usando
XResetScreenSaver
- Usando DBus, llamando a
org.freedesktop.ScreenSaver.SimulateUserActivity
- Usando
Por lo que puedo decir, las cosas con xdg en el nombre son el camino a seguir para la funcionalidad de entorno de escritorio cruzado. Parece que hay una utilidad de línea de comandos llamada xdg-screensaver. Parece tener un montón de protectores de pantalla conectados y luego volver a xset s off
/xset s default
, por lo que es posible que desee llamarlo cuando esté instalado o volver a copiar parte de su lógica cuando no lo esté...