Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在任务控制中将窗口移动到新空间_Objective C_Cocoa_Spaces_Osx Lion_Mission Control - Fatal编程技术网

Objective c 在任务控制中将窗口移动到新空间

Objective c 在任务控制中将窗口移动到新空间,objective-c,cocoa,spaces,osx-lion,mission-control,Objective C,Cocoa,Spaces,Osx Lion,Mission Control,我想写一个小实用程序,在OSXLion中将窗口从一个空间移动到另一个空间。我不在乎实用程序是用AppleScript还是Objective-C编写的。我似乎不明白的是,如果给了一个窗口,我怎么能将它移动到另一个空间。我在线程中看到了很多有用的信息,但没有看到任何关于如何实际移动窗口的信息。如果有人有任何想法或想法,我会很高兴听到他们。谢谢。您需要使用一个自定义库,可以在这里找到,但是我不确定它在lion中有什么支持 如果您使用的是objective-c调用,那么在10.7中的空格之间移动实际上与

我想写一个小实用程序,在OSXLion中将窗口从一个空间移动到另一个空间。我不在乎实用程序是用AppleScript还是Objective-C编写的。我似乎不明白的是,如果给了一个窗口,我怎么能将它移动到另一个空间。我在线程中看到了很多有用的信息,但没有看到任何关于如何实际移动窗口的信息。如果有人有任何想法或想法,我会很高兴听到他们。谢谢。

您需要使用一个自定义库,可以在这里找到,但是我不确定它在lion中有什么支持

如果您使用的是objective-c调用,那么在10.7中的空格之间移动实际上与10.6相同,只是有一个问题。空间ID在10.6中是基于索引的,但在10.7中是基于其他内容(不完全是GUID)的

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

现在如果你没有空间id-例如,你只想把窗口移到第二个空间-那么我和你一样难堪。我正在寻找空间id和索引号之间的链接。(如果我找到,将更新此答案)


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

对于StackOverflow来说,这似乎有点太强大了。这是个人使用还是实际开发?计划是创建一个应用程序,帮助我在Lion中更轻松地操作空间。有几件事我想添加到空间中,例如轻松交换两个空间的位置或全屏应用程序。我甚至开发了一个前端,认为苹果将提供API来实现这一点。我打算在App Store上发布此应用程序。不幸的是,使用提供的API似乎不可能做到这一点。读了这篇博文后我放弃了:。我也在寻找答案。你做到了吗?你能更新吗?我不得不放弃。很抱歉如果你明白了,请告诉我。不幸的是,这看起来对Lion不起作用。因为你不能提交一个应用到应用商店,除非它适用于最新的OS X,我担心这是行不通的。不过,谢谢。苹果没有提供一个公共API来实现这一点,这太糟糕了。不幸的是,我有一个要求,这个应用程序必须能够在应用商店发布。尽管如此,还是要感谢您的建议。如果您需要官方框架,您将无法接听电话。Lion注意:您通过
kCGWindowWorkspace
获得的空间ID在登录之间会发生更改。