0 votes

Comment exécuter périodiquement un script/commande lorsqu'une application spécifique est utilisée ?

Je voudrais qu'un certain script Apple s'exécute toutes les 10 secondes mais uniquement lorsqu'une application spécifique est utilisée (c'est-à-dire qu'elle est l'application en premier plan ET que la souris ou le clavier sont utilisés dans les dernières secondes).

Comment puis-je créer un tel déclencheur ?

1voto

Fuzzy Purple Monkey Points 702

Ceci exécute dire a si le temps écoulé depuis le dernier événement HID (dispositif de pointage ou clavier) est supérieur à 3 secondes et si l'application la plus en avant est 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

Différentes façons d'obtenir le nom de l'application la plus en avant :

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'

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X