9

我想编写一个小实用程序,在 OS X Lion 中将窗口从一个空间移动到另一个空间。我不在乎该实用程序是用 AppleScript 还是 Objective-C 编写的。我似乎无法弄清楚的是给了一个窗口,我怎样才能将它移动到不同的空间。我在这个线程中看到了很多有用的信息,但没有关于如何实际移动窗口的信息。如果有人有任何想法或想法,我将不胜感激。谢谢。

4

2 回答 2

3

如果您使用的是 Objective-c 调用,那么在 10.7 中的空格之间移动实际上与 10.6 相同,除了一个问题。空间 ID 是基于 10.6 的索引,但基于 10.7 中的其他东西(不是 GUID)。

如果您在正确的空间中已经有一个窗口,则此问题中的解决方案将起作用(我在csshX中使用它)。您可以使用 CGSGetWindowWorkspace 获取空间 ID,然后使用 CGSMoveWorkspaceWindowList 将其设置在另一个窗口上。

现在,如果您没有空间 id - 例如,您只想将窗口移动到第二个空间 - 那么我和您一样难过。我正在寻找空间 id 和索引号之间的联系。(如果我找到它会更新这个答案)

最后,您在上面的评论中提到了 App Store - 这不合适,因为 CGS* 调用使用未记录的私有框架,这会让您被拒绝。

于 2011-09-21T13:49:42.093 回答
-1

您将需要使用自定义库,可以在此处找到http://macscripter.net/viewtopic.php?id=23453,但是我不确定它对 lion 有什么样的支持。

于 2011-09-12T04:09:21.747 回答