以下脚本应在任何桌面/工作区/显示器,全屏和详细信息(坐标,pid,标题等)上返回窗口信息:
#!/usr/bin/python
import Quartz
import time
from Quartz import CGWindowListCopyWindowInfo, kCGWindowListExcludeDesktopElements, kCGNullWindowID
from Foundation import NSSet, NSMutableSet
def windowList(wl):
for v in wl:
print (
str(v.valueForKey_('kCGWindowOwnerPID') or '?').rjust(7) +
' ' + str(v.valueForKey_('kCGWindowNumber') or '?').rjust(5) +
' {' + ('' if v.valueForKey_('kCGWindowBounds') is None else (
str(int(v.valueForKey_('kCGWindowBounds').valueForKey_('X'))) + ',' +
str(int(v.valueForKey_('kCGWindowBounds').valueForKey_('Y'))) + ',' +
str(int(v.valueForKey_('kCGWindowBounds').valueForKey_('Width'))) +