【发布时间】:2016-05-29 10:21:18
【问题描述】:
在我的 OSX 项目中,我想:
识别 NSWindow 所在的桌面(暴露空间之一);
在确定的 Space 中打开 NSWindow,而不仅仅是在当前 Space 中。
有没有办法完成这些简单的任务?
浏览文档(NSWindowController、NSWindow、NSScreen)我找不到有关多桌面管理的任何内容。
提前致谢!
【问题讨论】:
标签: objective-c xcode swift macos cocoa
在我的 OSX 项目中,我想:
识别 NSWindow 所在的桌面(暴露空间之一);
在确定的 Space 中打开 NSWindow,而不仅仅是在当前 Space 中。
有没有办法完成这些简单的任务?
浏览文档(NSWindowController、NSWindow、NSScreen)我找不到有关多桌面管理的任何内容。
提前致谢!
【问题讨论】:
标签: objective-c xcode swift macos cocoa
您可能认为会有一些 API 用于处理 Spaces,但实际上并没有。您可以使用 CGWindowListCopyWindowInfo 来确定特定窗口所在的空间,但没有简单的方法可以在特定空间上打开特定窗口。
当然,有 private API 可以在空间之间移动窗口。你是否想在你的应用程序中使用它取决于你的需要——显然你不能在 Mac App Store 应用程序上使用它。
找到了我正在寻找的反向工程标头的副本: https://gist.github.com/rjw57/5495406
【讨论】: