2 votos

Applescript no deja que mi máquina se apague

He codificado un sencillo AppleScript para que me recuerde que debo levantarme una vez por hora. He guardado el código como una aplicación y lo he ejecutado, pero cuando intento apagar mi máquina no se apaga. Tengo que forzar el cierre.

Es la primera vez que construyo un AppleScript, así que estoy un poco perdido sobre cómo depurarlo.

repeat  
    set myTime to time string of (current date)

    if "00:00" is in myTime then
        display notification "Time to standup" with title "Standup" sound name "Blow"
    end if
end repeat

3voto

Tetsujin Puntos 23061

Creo que el uso de on idle en lugar de repeat debería dejar de impedir el sueño.
Puedes comprobarlo en el Monitor de Actividad - pon el menú Ver en Todos los Procesos, luego desde las pestañas CPU o Memoria, haz clic con el botón derecho del ratón en la cabecera y añade Preventing Sleep, luego ordena por esto.

enter image description here

El return valor es para ociosos lo que delay es a una repetición regular. Su script existente está martillando alrededor tan rápido como puede ir, lo que realmente no necesita hacer.
Si no encuentra 00:00 la primera vez, entonces el else lo configura para que compruebe cada minuto hasta que lo haga, entonces el retorno sale a una hora completa. Estoy asumiendo que no necesitas precisión de milisegundos para esto ;)

on idle
    if the minutes of the (current date) is 0 then
        display notification "Time to standup" with title "Standup" sound name "Blow"
        return 3600
    else
        return 60
    end if
end idle

Guarda como una aplicación y marca 'Permanecer abierto después de ejecutar el controlador'.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X