1

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


仅供参考:我以前能够利用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)
4

1 回答 1

2

要检测监视器,您可以使用NSScreen.screens(). 然后,您可能只需将您的位置NSWindow放在目的地NSScreenvisibleFrame.

至少这适用于您自己的应用程序窗口——我不确定如何移动不同应用程序的窗口,或者是否可以通过 Cocoa API 移动。

对于该特定用例,一种可能的方法是改用 AppleScript(例如,将 finder 窗口从一个显示器移动到另一个显示器使用 AppleScript 使用双显示器定位窗口)。

于 2016-06-20T07:10:43.127 回答