如何保存焦点上下文并在OSX应用程序中返回它



我正在编写一个菜单栏应用程序,当按下全局热键时显示一个窗口。应用程序没有dock图标,也没有正常的菜单(只有statusItem)。

在激活应用程序之前,假设我在chrome聚焦的网页上有一个文本框。当我的申请被驳回时,我如何重新聚焦文本框?

如果您熟悉文本扩展器,它们的功能类似

我明白了。你需要一个NSRunningApplication:

@implementation AppDelegate { NSRunningApplication *_previousApplication; }

然后在激活之前存储以前的应用程序:

_previousApplication = [[NSWorkspace sharedWorkspace] frontmostApplication];

最后,在您停用后,只需恢复另一个应用程序:

[_previousApplication activateWithOptions:NSApplicationActivateIgnoringOtherApps];

最新更新