Mac OS X – Hiding Login Items Window

自宅で使っているMacを起動してOS Xにログインした際に様々なアプリを自動で起動するようにしています。主に仕事やプライベートで使っているLINEやWhatsAppといったコミュニケーション目的にクライアントアプリですが、システム環境設定 -> ユーザとグループ -> ログイン項目にそれらのアプリを追加して自動起動するようにしています。しかし、結構な確率で非表示にチェックを入れていてもアプリウィンドウが隠れない、最小化されない、非表示にならない、という事態が起こります。

OS Xからの指示でアプリの読み込み完了後にウィンドウを隠すアプリ側の対応が必要なのではないかと思うのですが、Mac起動後クリーンな画面で使い始めたいのに残念です。

そこで、AppleScriptで自動起動したいアプリを立ち上げて、それらのウィンドウを隠す、というスクリプトを組んでみました。

delay 30
tell application "Leaf" to activate
tell application "Microsoft Teams" to activate
tell application "WhatsApp" to activate
tell application "Skype" to activate
tell application "LINE" to activate
delay 10
tell application "Finder"
  set visible of process "Leaf" to false
  set visible of process "Microsoft Teams" to false
  set visible of process "WhatsApp" to false
  set visible of process "Skype" to false
  set visible of process "LINE" to false
end tell

スクリプトエディターを立ち上げ、上述のスクリプトをベースに起動したいアプリ名(” “で囲まれているアプリ名)を書き換え、それをアプリケーションとして保存すれば使えるはずです。保存したアプリをダブルクリックすると、30秒経過してからアプリが起動して、さらに10秒後にアプリのウィンドウが非表示になると思います。(初回はシステム環境設定のプライバシー設定を変更するよう警告が表示されると思います。)

意図的に最初に30秒の遅延を入れているのは、私が使っているMacBook Pro (Retina, 13-inch, Early 2015)がパフォーマンス的に遅く、OSや他のアプリ等の読み込みに時間がかかるのでCPUが落ち着いてからアプリ起動を始めるためです。

後はログイン項目から個別のアプリを削除して、このスクリプトのアプリケーションをログイン項目に追加すれば完了です。

この方法を使ってもウィンドウを非表示に出来ないソフトウェアKVMのBarrierというアプリがありますが、これも別の方法でウィンドウを隠すことが出来ます。別の機会にまた紹介したいと思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください