Wie kann ich ein Skript / einen Befehl regelmäßig ausführen, wenn eine bestimmte Anwendung verwendet wird?


0

Ich möchte, dass ein bestimmtes Applescript alle 10 Sekunden ausgeführt wird, aber nur, wenn eine bestimmte Anwendung verwendet wird (dh sowohl die Frontanwendung als auch die Maus oder Tastatur, die in den letzten Sekunden verwendet wurden).

Wie kann ich einen solchen Trigger erstellen?


welche anwendung? was für ein osx? welche hardware? hast du das script schon
Ruskes

Vielleicht interessieren Sie sich für keyboardmaestro.com/main
Ruskes

Sie können eine Cron-Aufgabe mit AppleScript erstellen, wenn die Anwendung geöffnet wird. Und die Cron-Task rief alle 10 Sekunden ein AppleScript auf.
StrawHara

Antworten:


1

Dies wird ausgeführt, say awenn die Zeit seit dem letzten HID-Ereignis (Zeigegerät oder Tastatur) mehr als 3 Sekunden beträgt und wenn die vorderste Anwendung iTerm ist:

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

Verschiedene Möglichkeiten, den Namen der vordersten Anwendung abzurufen:

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'
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.