- date: 2008-09-15 (Mon) 09:31
- category: Apple
- tag:
前回はとても単純なプログラムを作りました。
その時、「次に目指すこと」として、
- アプリケーション名を変数に持ってループ処理させる
- 起動したと同時に隠すなどしてデスクトップが表示されるようにする(バックグラウンドでの起動)
という2点を挙げておいたのですが、その2点が解決できたっぽいです。
●ループ処理
set apps_list to {"Safari", "Things", "Mail"}
repeat with apps in apps_list
tell application apps to launch
end repeat
これでOK.
●自動で隠す処理
これがいまいちうまくいかないことと速度から、最終的には見送ったのですが、一応調べたらあったのでご紹介。
うまく動かない理由は、(例えばMail.app...立ち上がってメールチェックをすぐ始めてしまうなど、)アプリケーションが自動的に何かをやり始めてしまうと、tellして語りかけても反応が返ってこないからかなぁとか漠然と思っています。
参考: Applescript Hide All / Show Desktop
tell application "System Events"
set activeProcesses to every process
repeat with processCounter from 1 to count activeProcesses
set thisProcess to item processCounter of activeProcesses
if visible of thisProcess is true then
set visible of thisProcess to false
else
set visible of thisProcess to true
end if
end repeat
end tell
しょぼいスクリプトでも、とりあえずやりたいことができたのでこれで完成!満足です。 :-)