【发布时间】:2016-07-12 09:02:41
【问题描述】:
我正在尝试添加一个小窗口,该窗口可从系统中的任何位置向主应用程序提供“快速输入”。
用户可以按下热键,窗口弹出,并浮动在所有其他窗口之上。
在大多数情况下,这不是什么大问题。我可以将 NSWindow 配置为:
level = Int(CGWindowLevelKey.TornOffMenuWindowLevelKey.rawValue)
collectionBehavior = .CanJoinAllSpaces
我还可以将其设置为带有NSNonactivatingPanelMask 选项的 NSPanel。
唯一的问题是:即使用户在包含全屏应用程序的空间中,如何才能使窗口在屏幕上弹出?
我知道当应用程序是 LSUIElement=true(在 Dock 中没有位置的应用程序)时这是可能的,但我的不是。
【问题讨论】:
-
你怎么知道这只有在 LSUIElement=true 时才有效?它记录在某处吗?我花了一天时间使用不同的配置,直到得出相同的结论,它只适用于 LSUIElement=true。有没有办法让这种相同的行为与 LSUIElement=false 一起使用?
标签: macos cocoa nswindow nspanel