ユーザーが最後のウィンドウを赤いボタンで閉じようとしたときにアプリケーション呼び出しを非表示にしようとしています。NSWindow closeとMultiple-Tab-NSWindow closeを区別しますか?
注:下記のタブは、sierra自動タブ機能の一部です。
私はNSApplication.shared().hide()
でアプリケーションを非表示にすることができますが、ユーザーが最後に開いているウィンドウを閉じることを試みた場合のみ(このウィンドウのすべてのタブを閉じる赤いボタンを意味します)。しかし、私は、タブ上のクローズボタンが正常に実行され、タブを閉じることを許可します。
これまでのところ、タブクロージャとウィンドウクロージャはAPIで同じように見えますが、私が望む動作を達成するのは苦労しています。赤い閉じるボタンまたはタブの閉じるボタンで閉じているかどうかを判断する方法はありますか?
最後のウィンドウを閉じるときにhideを呼び出さないでください。閉じるボタンは非表示にする必要があります。最後のウィンドウを閉じた後に終了するか、最後のウィンドウを閉じることを無効にするか、またはアプリケーションが最前面のアプリケーションでないときにウィンドウを非表示にします。 – Willeke
私はFinderの動作によってちょっと触発されています。最後のファインダーウィンドウに複数のタブがある場合は、そのウィンドウを閉じて再度開いても、開いているタブには影響しないようです。しかし、ページやSafariでは、すべてのタブは閉じても失われます。 – orion
Finderは、ウィンドウを閉じると自分自身を隠すことはありません。それは活発になり、最前線のアプリです。 Finderは、起動時にウィンドウを復元します。 Finderでどのようにウィンドウを開くのですか? – Willeke