2016-06-09 45 views
1

问题:如果有多个监视器处于活动状态,在OS X中运行代码时是否有方法让Python检测到?那么,是否可以通过选择将特定的OS X应用程序窗口移动到其中一个监视器?在OS X中的Python:检测多个监视器并将应用程序窗口移动到特定的显示器


FYI:我以前一直能够利用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来做到这一点。碳被弃用。 – pvg

回答

2

要检测显示器,可以使用NSScreen.screens()。那么你可能只需将你的NSWindow定位在目的地NSScreenvisibleFrame

至少可以在你自己的应用程序窗口中工作 - 我不确定如何移动不同的应用程序的窗口,或者甚至可以通过Cocoa API。

对于该特定用例,一种可能的方法是使用AppleScript代替(例如,Moving finder window from one display to anotherPositioning a window with AppleScript using dual monitors)。

相关问题