여러 OS-X Terminal.app 창이 열려있는 경우 어떻게 하나의 터미널 창을 다른 공간으로 옮길 수 있습니까?하나의 Terminal.app 창을 프로그래밍 방식으로 다른 공간으로 이동할 수 있습니까?
저는 이것을 달성하기 위해 스크립팅이나 프로그래밍 언어를 사용해 주지만 AppleScript 나 표준 프레임 워크를 선호합니다.
(이 응용 프로그램 not all windows의 하나 개의 창을 이동하는 것입니다 참고.)
여러 OS-X Terminal.app 창이 열려있는 경우 어떻게 하나의 터미널 창을 다른 공간으로 옮길 수 있습니까?하나의 Terminal.app 창을 프로그래밍 방식으로 다른 공간으로 이동할 수 있습니까?
저는 이것을 달성하기 위해 스크립팅이나 프로그래밍 언어를 사용해 주지만 AppleScript 나 표준 프레임 워크를 선호합니다.
(이 응용 프로그램 not all windows의 하나 개의 창을 이동하는 것입니다 참고.)
을 목표 - C/C에서 개인 전화를 사용하여, 비공식적으로 here
#import <Foundation/Foundation.h>
typedef int CGSConnection;
typedef int CGSWindow;
extern OSStatus CGSMoveWorkspaceWindowList(const CGSConnection connection,
CGSWindow *wids,
int count,
int toWorkspace);
extern CGSConnection _CGSDefaultConnection(void);
int main(int argc, char **argv) {
CGSConnection con = _CGSDefaultConnection();
// replace 2004 with window number
// see link for details on obtaining this number
// 2004 just happened to be a window I had open to test with
CGSWindow wids[] = {2004};
// replace 4 with number of destination space
CGSMoveWorkspaceWindowList(con, wids, 1, 4);
return 0;
}
표준 경고가 문서화되지 않은 API에 대한 적용 나열 : 그들은 부서지기 쉽다.
위대한 작품 - 감사합니다! –
64 비트에 대한 참고, int의 이제 길다 –
사람이 몇 가지 기본 지침/실제로 이것을 구현하는 방법에 대한 단계를 줄 수 있습니까? –
는 cobbal의 대답을 기반으로, 코드는 루비 이식 :
require 'dl';
wid = 2004
dl = DL::dlopen('/System/Library/Frameworks/ApplicationServices.framework/ApplicationServices')
_CGSDefaultConnection = dl.sym("_CGSDefaultConnection", 'I');
CGSMoveWorkspaceWindowList = dl.sym("CGSMoveWorkspaceWindowList", 'IIiII');
con = _CGSDefaultConnection.call();
CGSMoveWorkspaceWindowList.call(con[0], wid, 1, 4);
64 비트에서 "I"-> "L"과 "IIiII"를 "LLlLL"로 변경하십시오. –
이 루비 스크립트를 사용해 보았습니다. 그러나 dl.sym은 하나의 인수 만 사용한다는 오류 메시지가 나타납니다. 저는 Mac OS X 10.6.6 (64 비트)을 사용하고 있습니다. 루비 스크립트를 어떻게 실행해야합니까? 코드를 포함하고 ruby * myfile *을 실행하는 파일을 작성하면 안됩니까? 어떤 도움이라도 대단히 감사합니다. –
/usr/bin/ruby를 사용하고 있는지 확인하십시오. 새로운 것이 아닌 $/usr/bin/ruby -v 루비 1.8.7 (2009-06-12 패치 레벨 174) [universal-darwin10.0] –
안녕하세요, 당신이 그것을 달성 않았다 ???? 나는 또한 이것을하려고 노력하고있다. – flow
슬픈 듯이, 부정 - 만일 내가 길을 발견하면 나는이 질문을 최신의 것으로 바꿀 것이다. –