def get_display_icc_info(): info = {} try: err, active_displays, no = CG.CGGetActiveDisplayList(99, None, None) if err == 0 and no > 0: for i, adid in enumerate(active_displays): info[i] = get_colorspace_info(CG.CGDisplayCopyColorSpace(adid)) except Exception as e: log("failed to query colorspace for active displays: %s", e) return info
def get_displays_info(): did = CG.CGMainDisplayID() info = { "main": get_display_info(did), } err, active_displays, no = CG.CGGetActiveDisplayList(99, None, None) if err == 0 and no > 0: for i, adid in enumerate(active_displays): info.setdefault("active", {})[i] = get_display_info(adid) err, online_displays, no = CG.CGGetOnlineDisplayList(99, None, None) if err == 0 and no > 0: for i, odid in enumerate(online_displays): info.setdefault("online", {})[i] = get_display_info(odid) return info
def get_displays_info(): from Quartz import CoreGraphics as CG #@UnresolvedImport did = CG.CGMainDisplayID() info = { "main": get_display_info(did), } err, active_displays, no = CG.CGGetActiveDisplayList(99, None, None) if err == 0 and no > 0: for i, adid in enumerate(active_displays): info.setdefault("active", {})[i] = get_display_info(adid) err, online_displays, no = CG.CGGetOnlineDisplayList(99, None, None) if err == 0 and no > 0: for i, odid in enumerate(online_displays): info.setdefault("online", {})[i] = get_display_info(odid) return info
def get_vrefresh(): vrefresh = [] try: err, active_displays, no = CG.CGGetActiveDisplayList(99, None, None) log("get_vrefresh() %i active displays: %s (err=%i)", no, active_displays, err) if err==0 and no>0: for adid in active_displays: mode = CG.CGDisplayCopyDisplayMode(adid) v = int(CG.CGDisplayModeGetRefreshRate(mode)) log("get_vrefresh() refresh-rate(%#x)=%i", adid, v) if v>0: vrefresh.append(v) except Exception: log("failed to query vrefresh for active displays: %s", exc_info=True) log("get_vrefresh() found %s", vrefresh) if len(vrefresh)>0: return min(vrefresh) return -1
def get_widest_display(): total = 10 (_, active_displays, _) = CG.CGGetActiveDisplayList(total, None, None) return max(active_displays, key=lambda display: CG.CGDisplayScreenSize(display).width)