objective-c - 以编程方式在另一个桌面(空间)中打开 NSWindow

标签 objective-c xcode swift macos cocoa

在我的 OSX 项目中我想:

  • 识别 NSWindow 所在的桌面(公开空间之一);

  • 在确定的空间中打开一个 NSWindow,而不仅仅是在当前空间中。

有没有办法完成这些简单的任务?

浏览文档(NSWindowController、NSWindow、NSScreen)我找不到任何关于多桌面管理的内容。

提前致谢!

最佳答案

您可能认为会有一些 API 可用于使用 Spaces,但实际上并没有。您可以使用 CGWindowListCopyWindowInfo 来确定特定窗口所在的空间,但是没有简单的方法可以在特定空间上打开特定窗口。

当然,有私有(private) API 可以在空间之间移动窗口。是否要在您的应用程序中使用它取决于您的需要 - 显然,您不能在 Mac App Store 应用程序中使用它。

找到了我正在寻找的反向工程 header 的副本: https://gist.github.com/rjw57/5495406

关于objective-c - 以编程方式在另一个桌面(空间)中打开 NSWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35461347/

相关文章:

ios - Swift iOS - 解析 XML 时排除根/父元素 - NSXML

iphone - 如何使用 KVC 设置 UILabel 属性,如文本颜色、字体等?

objective-c - 拖动以触发 UIButton

ios - 无法加载网页,错误为 : The requested URL was not found on this server

ios - NSLocale objectForKey 方法的隐式返回类型是什么?

ios - 使用 Grand Central Dispatch IOS Swift Xcode 6.3.1 的问题

IOS:多个数组显示在单个 Tableview 上

objective-c - NSPanel 不可点击,但键盘事件有效

xcode - 应用程序 XXX 未安装...因为权利无效

ios - 如何从命令行在模拟器中注册 Touch ID?