Mac OS X Leopard 有一个名为 Spaces 的虚拟桌面实现。我想以编程方式检测用户当前所在的空间。
可可更可取,但如果没有其他方法, AppleScript 也是可以接受的。
我见过几个 AppleScript 实现,但他们使用的技术似乎有点太老套了,无法在生产代码中使用(一个依赖于导致错误然后解析错误消息以获取当前空间,另一个询问 Spaces 菜单图形用户界面)
Mac OS X Leopard 有一个名为 Spaces 的虚拟桌面实现。我想以编程方式检测用户当前所在的空间。
可可更可取,但如果没有其他方法, AppleScript 也是可以接受的。
我见过几个 AppleScript 实现,但他们使用的技术似乎有点太老套了,无法在生产代码中使用(一个依赖于导致错误然后解析错误消息以获取当前空间,另一个询问 Spaces 菜单图形用户界面)
使用 HIWindowGetCGWindowID 获取 WindowRef 的 CGWindowID。
将该 ID 与 CGWindow.h 中的 CGWindowListCreateDescriptionFromArray 一起使用以获取有关窗口的信息。
查看返回的字典并提取(可选)kCGWindowWorkspace 键。那是您窗口的空间 ID。
如果有人仍然关心,我已经根据您可以在http://github.com/shabble/osx-space-id获得的答案整理了一个小命令行实用程序