2016-11-26 25 views
0

変更を表示するためにFinderを再起動する必要があるユーティリティを開発中です。プログラム終了後にFinderウィンドウを開く

私は(SWIFT)など、何もコピー操作が起こっていないことを確認するためにNSRunningApplication年代terminate機能を使用します。

let apps = NSRunningApplication.runningApplicationsWithBundleIdentifier("com.apple.finder") 
if apps.count > 0 { 
    let finder = apps[0] 
    finder.terminate() 
} 

私はsharedWorkspace.notificationCenterNSWorkspaceDidTerminateApplicationNotificationのために聞いておりますので、私はその後、launchAppWithBundleIdentifierで再びファインダを起動することができます。これはすべて正常に動作します。

Finderが再び起動すると、以前開いていたウィンドウが閉じられました。私は、「アプリケーションを終了して再起動するときのウィンドウを復元する」というユーザーの設定にかかわらず、それらを再オープンしたいと思います。

これは、Finderの再起動が私のソフトウェアのアクティビティの副作用であり、ユーザがウィンドウを閉じることを間違いなく意図していたからです。

AppleScriptでこれが起こっているのを見ることができましたが、Finderの再起動中にすべてのウィンドウの状態(ウィンドウの配置とサイズを含む)を保存し、後で再度開く方法を考案するのに十分な経験はありません。

ご協力いただければ幸いです!

答えて

0

面白いことに、私は実際には私が期待していなかったどこかで答えを見つけました:Finder defaults。それが起こると(source)、再起動後Finderウィンドウを復元できるようにする、NSQuitAlwaysKeepsWindowsという名前の隠し設定があります。

​​
関連する問題