FC2ブログ
    2013
    05.17

    AppleScriptでのダイアログ表示を改善

    自分で作ったAppleScriptの挙動の中で、思うようにいかずイラっとするところがありました。それは・・・

    ダイアログの挙動

    これには2つ問題があります。

    問題1ダイアログを意識的に最前面に表示させないといけない。
    そうしないと他のウィンドウの影に隠れてしまうし、
    「前に出せ〜」とdockでピョン2暴れます(汗

    問題2:tell application "Finder"でダイアログを出させると、その間
    他のFinder操作ができなくなる
    ファイル操作ダイアログの場合は特に不便(汗
    フォイルやフォルダをdrag&dropすることもできませんし、
    「新規ウィンドウを開く」といった他の操作も一切受け付けません(>_<)

    さて、どうしたものか。。



    解決策1:アプリケーション形式で保存し、自分自身で表示させる
    欠点:スクリプトのままAppleScriptエディタで実行するのはNG

    tell application "自作スクリプト5号"
    activate
    display dialog ホニャララ
    end tell


    解決策2:Finderを前に立たせてやらせる
    欠点:問題2に直面する。

    tell application "Finder"
    activate
    display dialog ホニャララ
    end tell


    解決策3:他のアプリを前に立たせてやらせる
    欠点:いつも起動してるアプリにやらせるか、このためだけに別のアプリを起動?スマートじゃない。
    現在アクティブなアプリを指定する(tell current application)にしても、current app=Finderの時もある…

    tell application "Mail"
    activate
    display dialog ホニャララ
    end tell


    解決策4:System Eventsを使い、間接的にFinderに表示させる
    =スクリプトのままでも機能するし、最前面にダイアログが表示される。
    この時、Finderの他の操作もできる!これは良いかも♪

    tell application "System Events" to tell process "Finder"
    activate
    display dialog ホニャララ
    end tell


    「そんなのみんな知ってるから」とか言われそう(汗
    当たり前だったらゴメンナサイ(^-^;
    関連記事

    このエントリーをはてなブックマークに追加
    トラックバックURL
    https://w6o6n.blog.fc2.com/tb.php/26-c1177cb7
    トラックバック
    コメント
    管理者にだけ表示を許可する
     
    back-to-top