2016-03-24 62 views
0

私は新しいメールを受け取ったときにMailがドックのアイコンをバウンスするようにしたい。残念なことにエルキャピタンの下では、それは1分に2回ほどしかないようです。タイムアウトしないAppleScriptの表示ダイアログ

問題はありませんでしたが、私はdisplay dialogに(Mail)それを伝えるスクリプトをトリガーするルールを作成するつもりです。偉大な仕事

、ダイアログは2分後にタイムアウトして、そのドックアイコンは、私がignoring application responsesを使用してい

:-(バウンスを停止するので、スクリプトが正常に終了していることを除いて、私はちょうどにダイアログをしたいですないタイムアウト!

これを達成する方法は

答えて

0

通常OSAXは決してタイムアウトするコマンドはありませんが、あなたは別のアプリケーションOSAXコマンドにdisplay dialogをターゲットにしておりますので、タイムアウトを行います。defのでは?ありますあなたが別のアプリケーションにイベントを送信すると、スクリプトは応答を待ちます。 2分以内に他のアプリケーションからの応答がない場合、タイムアウトエラーが返されます。ただし、2分以上かかる可能性のあるイベントがあるため、スクリプトがエラーを返す前にスクリプトの待機時間を延長または短縮することができます。

tell application "Mail" 
    with timeout of 300 seconds -- wait 5 minutes 
     display dialog "hello world!" 
    end timeout 
end tell 
+0

私はそれを考えていましたが、私はタイムアウトしたくありません。私がコンピュータから10時間ほど離れていると、スクリーンを見ると、ドックアイコンが跳ね返ってメールがあることがわかります。デフォルトの動作を変更する方法はありますか(「デフォルトではあなたのスクリプトは応答を待っています)、応答がないときは... [...]タイムアウトエラーが返されます。 – skiaddict1

+0

タイムアウトは巨大な数値にしか設定できません。私の例では5分しか表示されませんが、86400を使って1日中待つことができます。 –

+0

OKですが、これは 'アプリケーションの応答を無視する'と矛盾するようです。私が 'アプリケーション応答を無視する'の外にタイムアウトを置くと、ダイアログは2分後にタイムアウトします。私はそれを入れて、ダイアログのタイムアウトまでスクリプトの残りの部分は実行されません。私が欲しいものを達成するための他の方法はありますか? – skiaddict1

関連する問題