我尝试在后台启动应用,而不激活它。我只是在NSWorkspace
上使用此方法在后台启动它:
[[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:bundleID
options:(NSWorkspaceLaunchWithoutActivation |
NSWorkspaceLaunchAllowingClassicStartup)
additionalEventParamDescriptor:nil launchIdentifier:NULL];
唯一的问题是它不会激活应用程序,但会将空间切换到该应用程序的指定空间。有什么方法可以避免这种情况吗?
答案 0 :(得分:2)
您是否可以控制正在发布的应用?如果是这样,请覆盖其窗口的window collection behavior。您可能希望通过命令行参数或类似方法使其可控,因此当用户手动启动应用程序时,仍然会遵守Spaces设置。
如果您启动的应用程序不在您的控制之下,那么using AppleScript to temporarily override its Space assignment如何,然后将作业更改回原始值?