Интересная проблема.
Вот фрагмент кода, который поможет вам начать показ окон приложений:
tell application "System Events"
set appProcs to every application process whose background only is false
set appWins to ""
repeat with eachProc in appProcs
set appWinNum to title of every window of eachProc
-- Put "quit..." command into "if...then" :
if (count of appWinNum) is equal to 0 then display ¬
alert "No window found for app: \r\r" & name of eachProc
set appWins to appWins & return & name of eachProc & ¬
":\n" & appWinNum & return
end repeat
display alert appWins
end tell
Я не удосужился установить перевод строки для нескольких окон - так как у этого подхода есть серьезный недостаток :
Этот сценарий не и не найти окна на каждом «пространстве» , установленное в управлении полетами.
Жаль, но пока что управление полетами не написано.
Ваше лучшее, если уродливое, решение - поставить каждое приложение на передний план, затем проверить, а затем выйти ...