¿Cómo mostrar periódicamente mensajes de alerta *en primer plano* en Mac OS X?

¿Cómo mostrar periódicamente mensajes de alerta *en primer plano* en Mac OS X?

Quiero tener un cuadro de diálogo/alerta que se active periódicamenteen primer planoen mi Mac.

Probé una combinación de AppleScript y launchdlogré que el script (en realidad convertido en una aplicación) se activara periódicamente a través de launchd. Sin embargo, el cuadro de alerta no aparece delante de todas las demás ventanas (más bien está totalmente oculto hasta que lo presiono, aunquehacecomenzar a través de launchd). ¿Cómo puedo ponerlo delante?

Mi guión es el siguiente:

on run
    activate me --> tried to get alert in foreground
                --> didn't help, though
    display alert "Should show up in foreground..."
end run

Mi launch.plist es (en /Users/bernhard/Library/LaunchAgents/):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>bernhard.sitstraight.plist</string>

    <key>Program</key>
    <string>/Users/bernhard/programming/periodic.app/Contents/MacOS/applet</string>

    <key>RunAtLoad</key>  
    <true/>

    <key>StartInterval</key>
    <integer>1200</integer>
</dict>
</plist>

Respuesta1

Tengo una respuesta enPregunta diferente:

La solución esopenla aplicación, que parece más bien un doble clic en el icono de la aplicación. Es decir, hay que reemplazar el programa al que se llamará /usr/bin/openy pasar la aplicación como argumento de la siguiente manera dentro de launchd.plist:

<key>Program</key>
<string>/usr/bin/open</string>
<key>ProgramArguments</key>
<array>
    <string>open</string>
    <string>/Users/bernhard/programming/periodic.app</string>
</array>

El primer argumento (en este caso open) en realidad se pasa como argv[0]y, por lo tanto, no es relevante aquí. Entonces, el primer argumento real es /Users/[...]/periodic.app: el directorio de la aplicación en lugar del binario real.

información relacionada