¿Cómo ejecutar periódicamente un script / comando cuando se usa una aplicación específica?

0

Me gustaría que se ejecutara un determinado Applecript cada 10 segundos, pero solo cuando se está utilizando una aplicación específica (es decir, ambas son la aplicación frontal Y el mouse o el teclado que se está usando en los últimos segundos).

¿Cómo puedo crear un disparador de este tipo?

    
pregunta GJ. 21.10.2014 - 17:15

1 respuesta

1

Esto ejecuta say a si el tiempo transcurrido desde el último evento HID (dispositivo señalador o teclado) es más de 3 segundos y si la primera aplicación es iTerm:

while sleep 10;do [[ $(ioreg -c IOHIDSystem|awk '/HIDIdleTime/{print $NF/1000000000;exit}'|awk '$0>3') && $(lsappinfo visibleProcessList|cut -d\" -f2) = iTerm ]]&&say a;done

Diferentes formas de obtener el nombre de la aplicación más avanzada:

lsappinfo visibleProcessList|cut -d\" -f2
lsappinfo find ASN=$(lsappinfo front)|cut -d\" -f2
osascript -e 'name of app (path to frontmost application as text)'
osascript -e 'tell app "System Events" to name of process 1 where frontmost is true'
    
respondido por el user495470 22.10.2014 - 08:21

Lea otras preguntas en las etiquetas