- date: 2008-09-03 (Wed) 22:18
- category: Apple
- tag:
ログインするのと同時にアプリケーションを起動させたい場合は、「システム環境設定」-「アカウント」にある「ログイン項目」にアプリケーションを登録してあげれば良いのですが、ログイン時には起動しないけれど、いつも使うアプリケーションを手動で起動させる、ということをやりたくなりました。
ログイン項目にTerminal.appを登録しているのでシェルスクリプトを用意しても良いのですが、ダブルクリックで起動したくなったので、AppleScriptでの実現を考えました。
AppleScript 初めまして!
と、意気込んでみたのですが、調べ方が悪かったのか、「アプリケーションを起動する」なんてのは超初歩的なコマンド過ぎてGoogle様にお伺いをたててみてもコレ!ってのが見つからず... orz
AppleScriptフォルダ内にある Example Scripts を参考にして作った処女作がこちら
tell application "Safari" to activate
tell application "Mail" to activate
tell application "Things" to activate
これを実行してみると、もう全然ダメ。いちいち起動するのを待ってしまうので使い物にならない。
助けてGoogle様っ!と泣きついてみると、activateの代わりにlaunchかrunを使えば良いとお教えくださいました。
というわけで、先ほどのactivateをすべてlaunchにしたら、解決。望み通りのものができました。
tell application "Safari" to launch
tell application "Mail" to launch
tell application "Things" to run
#ThingsはQuickSilver経由で起動した時、なぜかデータベースを再指定しなければならなくなってしまったりしたので、launchよりも上位と言われていたrunにしています。これで問題がでるならactivateにしないとダメかも。
最後にスクリプトをアプリケーションとして保存して、アイコンをInterfaceLIFTさんのThe Cityって中から頂いて終わりにしました。

バッグからアプリを取り出すイメージ :-)
次に目指すのは、
- アプリケーション名を変数に持ってループ処理させる
- 起動したと同時に隠すなどしてデスクトップが表示されるようにする(バックグラウンドでの起動)
です。
全然やり方がわからないのでどなたか教えてください。