在调用activateWithOptions时保持我的应用程序作为响应者:NSApplicationActivateIgnoringOtherApps

时间:2014-07-10 11:57:46

标签: objective-c macos cocoa swift nsrunningapplication

我正在制作一个vim风格的窗口管理器"这需要文本输入,就像小牛队中的Alfred或Spotlight(在浮动面板中)。

我遇到的问题是当我调用activateWithOptions时:在正在运行的应用程序中,它会从我的窗口中窃取焦点。我希望通过简单地将我的应用程序再次带到前台来解决问题,但似乎激活是在一个单独的线程上运行,我最终在原始应用程序被激活之前激活我的应用程序。

我在收到NSWorkspaceDidActivateApplicationNotification时尝试重新激活,但这也不起作用。

理想情况下,我希望暂停执行,直到应用程序因多种原因而被关注,因为这将是我进一步操作的窗口。

有人有任何建议吗?

0 个答案:

没有答案