Mac OS X Leopard有一个名为Spaces的虚拟桌面实现。我想以编程方式检测用户当前所在的空间。
Cocoa是首选但 AppleScript是可以接受的,如果别无选择的话。
我已经看过几个AppleScript实现,但是他们使用的技术在生产代码中使用似乎有点过于苛刻(一个依赖于导致错误,然后解析错误消息以获取当前空间,另一个被查询Spaces菜单GUI)
答案 0 :(得分:15)
使用HIWindowGetCGWindowID获取WindowRef的CGWindowID。
将该ID与CGWindow.h中的CGWindowListCreateDescriptionFromArray一起使用,以获取有关窗口的信息。
查看返回的字典并提取(可选)kCGWindowWorkspace密钥。这是您窗口的空间ID。
答案 1 :(得分:9)
如果有人还在乎,我会根据你在http://github.com/shabble/osx-space-id
获得的答案整理一个小命令行工具。