2011-08-13 5 views
9

OS X Lion에서 한 공간에서 다른 공간으로 창을 이동시키는 작은 유틸리티를 작성하고 싶습니다. 유틸리티가 AppleScript 또는 Objective-C로 작성되었는지는 상관하지 않습니다. 알아낼 수없는 부분이 창으로 표시됩니다. 어떻게 다른 공간으로 이동할 수 있습니까? this 스레드에서 유용한 정보를 많이 보았지만 실제로 창을 이동하는 방법은 없습니다. 아무나 생각이나 아이디어가 있다면, 나는 그 소리를 듣고 감사하게 생각합니다. 감사.미션 컨트롤의 새 공간으로 창 이동하기

+0

이것은 StackOverflow에 너무 힘이들 것 같습니다. 개인용으로 사용하거나 실제 개발 용입니까? –

+0

라이온스에서 더 쉽게 공간을 조작 할 수있는 응용 프로그램을 만드는 것이 계획이었습니다. 두 칸 또는 전체 화면 앱의 위치를 ​​쉽게 바꾸는 것과 같이 내가 공백에 추가하기를 좋아할만한 사항이 몇 가지 있습니다. 나는 애플이 이것을 성취하기위한 API를 제공 할 것이라는 생각으로 프론트 엔드를 개발하기까지했다. App Store에서이 응용 프로그램을 릴리스 할 예정이었습니다. 유감스럽게도이 API는 제공된 API를 사용하여 가능하지는 않습니다. 나는이 블로그 게시물을 읽은 후 포기했다 : http://thecocoabots.com/blog/post/377/. – LandonSchropp

+0

나는 이것에 대한 해답을 찾고있다. 그걸 할 수 있었 니? 업데이트 할 수 있습니까? – SimonW

답변

-1

http://macscripter.net/viewtopic.php?id=23453에있는 사용자 지정 라이브러리를 사용해야합니다. 그러나 어떤 종류의 지원이 있는지는 잘 모르겠습니다.

+0

불행히도 라이온에게는 효과가 없을 것 같습니다. 최신 OS X에서 작동하지 않는 한 App Store에 앱을 제출할 수 없기 때문에이 기능이 작동하지 않을까 걱정됩니다. 그래도 고마워. – LandonSchropp

3

objective-c 호출을 사용하는 경우 10.7의 공백 사이를 이동하는 것은 한 가지 문제를 제외하고 실제로 10.6과 동일합니다. 공간 ID는 10.6을 기반으로하지만, 다른 GUID는 아닌 10.7을 기반으로합니다.

올바른 공간에 이미 창이있는 경우 in this question 솔루션이 작동합니다 (에 있음). CGSGetWindowWorkspace로 공간 ID를 가져온 다음 CGSMoveWorkspaceWindowList를 사용하여 다른 창에 공간 ID를 설정할 수 있습니다.

이제 공간 ID가없는 경우 (예 : 당신은 단지 제 2의 공간으로 창을 옮기고 싶습니다 - 그렇다면 당신만큼 난처한 처지입니다. 나는 공간 id와 인덱스 번호 사이의 연결을 찾고있다. (찾을 경우이 대답을 업데이트 할 것입니다.)

마지막으로 위의 주석에서 App Store를 언급합니다. CGS * 호출이 거부 될 수있는 문서화되지 않은 개인 프레임 워크를 사용하기 때문에 적합하지 않습니다.

+0

애플이 이것을 달성하기위한 공개 API를 제공하지 않는다는 것은 너무 나쁘다. 불행히도이 응용 프로그램을 App Store에서 릴리스 할 수 있어야한다는 요구 사항이 있습니다. 그래도 제안에 감사드립니다. – LandonSchropp

+0

공식 프레임 워크가 필요한 경우 [setCollectionBehavior] (http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSWindow_Class/Reference/Reference.html#//apple_ref/occ/instm/NSWindow/setCollectionBehavior :) 호출. –

+0

Lion에 대한 참고 사항 :'kCGWindowWorkspace'를 통해 얻은 공간 ID가 로그인간에 변경됩니다. – Mark