我正在macOS上写一个提示窗口。 我希望窗口可以浮动在任何应用程序的上方,即使它们处于全屏模式。
我有一个NSPanel对象,它的初始化方式如下:
styleMask:NSWindowStyleMaskBorderless | NSWindowStyleMaskNonactivatingPanel
然后我修改collectionBehavior,使其能够显示在全屏应用程序的顶部。
collectionBehavior = NSWindowCollectionBehaviorFullScreenAuxiliary
当我连接了外接显示器时,所有这些在每个屏幕上都可以正常工作。 该窗口显示在当前聚焦全屏应用程序的顶部。
当我仅使用内置屏幕而未连接任何外部监视器时, 该窗口仍显示在当前聚焦全屏应用程序的顶部。 但是,显示后,它将把焦点转移到桌面上。 如果您有多个虚拟桌面,则只有Desktop1。
如何仅在内置屏幕上提示不将焦点转移到桌面上?与连接的外部屏幕具有相同的行为。