2016-06-09 22 views
1

질문 : 두 개 이상의 모니터가 활성화되어있는 경우 OS X에서 코드를 실행할 때 파이썬을 감지하는 방법이 있습니까? 그렇다면 특정 OS X 응용 프로그램 창을?을 선택하여 해당 모니터 중 하나로 이동할 수 있습니까? 참고로 OS X의 Python : 여러 모니터를 감지하고 특정 모니터로 응용 프로그램 창을 이동하십시오.


: 나는 이전에 아래의 코드와 같이 특정 응용 프로그램 창을 활성화하는 Carbon을 활용할 수 있었다. 나는 그것이 위에 요구 된 기능을 가지고 있는지 알지 못한다.

from Carbon import AppleEvents 
from Carbon import AE 

window_target = AE.AECreateDesc(AppleEvents.typeApplicationBundleID, "org.mozilla.FireFox") 
window_activate = AE.AECreateAppleEvent('misc', 'actv', window_target, AppleEvents.kAutoGenerateReturnID, AppleEvents.kAnyTransactionID) 
window_activate.AESend(AppleEvents.kAEWaitReply, AppleEvents.kAENormalPriority, AppleEvents.kAEDefaultTimeout) 
+0

PyObjC로이 작업을 수행 할 수 있습니다. Carbon은 더 이상 사용되지 않습니다. – pvg

답변

2

모니터를 검색하려면 NSScreen.screens()을 사용할 수 있습니다. 그러면 NSWindow을 대상 내에 NSScreenvisibleFrame 내에 배치 할 수 있습니다.

적어도 자신의 응용 프로그램 창에서 작동합니다. 다른 응용 프로그램 창을 이동하는 방법이나 코코아 API를 통해 가능할 지 모르겠습니다.

이러한 특정 사례의 경우 가능한 한 가지 방법은 AppleScript를 대신 사용하는 것입니다 (예 : Moving finder window from one display to another 또는 Positioning a window with AppleScript using dual monitors).