Окно NSPanel меняет фокус на рабочий стол вместо текущего полноэкранного приложения - PullRequest
0 голосов
/ 11 мая 2019

Я пишу окно подсказки на macos. Я ожидаю, что окно может находиться над любыми приложениями, даже если они находятся в полноэкранном режиме.

У меня есть объект NSPanel, который инициируется как: styleMask:NSWindowStyleMaskBorderless | NSWindowStyleMaskNonactivatingPanel

И я изменяю коллекцию Behavior, чтобы она могла отображаться поверх полноэкранных приложений. collectionBehavior = NSWindowCollectionBehaviorFullScreenAuxiliary

Все это прекрасно работает на каждом экране, когда у меня подключен внешний монитор. Окно отображается поверх текущего полноэкранного приложения для фокусировки.

Когда я использую только встроенный экран, без подключения внешних мониторов, Окно по-прежнему отображается поверх текущего полноэкранного приложения для фокусировки. Однако, после того, как это было показано, оно переключит фокус на рабочий стол. И только desktop1, если у вас несколько виртуальных рабочих столов.

Как сделать так, чтобы подсказка не меняла фокус на рабочий стол даже на встроенном экране? Поведение аналогично подключенному внешнему экрану.

...