Я хотел бы создать AppleScript для запуска с помощью ключевой команды в Keyboard Maestro, которая позволяет мне напрямую переключать отображение или скрытие окон Finder. И если при переключении на отображение Finder, если нет существующих окон, создайте его и откройте в моем домашнем каталоге.
Следующий AppleScript работает. Тем не менее, похоже, существует состояние гонки между активацией искателя и обнаружением открытых окон с if not (window 1 exists)
, следовательно, delay 0.5
.
Проблема (которая, как я думаю, является состоянием гонки при обнаружении наличия существующего окна Finder) приводит к тому, что этот сценарий часто создает новые окна Finder, когда они уже существовали. if not (window 1 exists)
не всегда понимает правильно.
Буду признателен за любые мысли, поправки или подтверждения того, что это именно так, как есть!
tell application "System Events"
set activeApp to name of application processes whose frontmost is true
if ((activeApp as string) is equal to "Finder") then
set visible of process "Finder" to false
else
tell application "Finder"
activate
delay 0.5
if not (window 1 exists) then
make new Finder window
set thePath to POSIX file "/Users/jon"
set the target of the front Finder window to folder thePath
end if
end tell
end if
end tell