Как отобразить модальное окно, используя osascript или AppleScript в OS X

Как отобразить модальное (поверх всех приложений, окон) окно, используя osascript или AppleScript в OS X 10.6.8 и более поздних версиях.

Вот скрипт, который я делаю:

#!/bin/bash

osascript -e 'tell app "System Events" to display dialog "My Dialog" buttons {"OK"} default button 1 with title "My Dialog" with icon caution'

Проблема в том, что это не модально.

Как исправить следующую проблему?

2 ответа

Решение

Недавно я написал скрипт для мониторинга батареи macbook, когда она разряжалась. Чтобы не пропустить предупреждение, я сделал следующее...

repeat while true
    me activate
    set userResp to display dialog ¬
        "Yes or No?" as text buttons {"No", "Yes"} ¬
        default button "Yes" with icon caution ¬
        with title "Question" giving up after 5
end repeat

Код будет продолжать отображать сообщение, даже если я случайно нажму в другом месте, и оно будет скрыто под другим окном.

Надеюсь, это поможет.

Вы можете использовать команду "отображение уведомлений", чтобы поместить уведомление над всеми другими окнами (и в Центр уведомлений), но вы не можете запретить пользователю использовать его компьютер.

display notification "Message"

Еще один способ привлечь внимание пользователя - это что-то сказать.

say "Message"
Другие вопросы по тегам