from monitorcontrol import get_monitors def get_monitor_info(): results = [] for monitor in get_monitors(): description = str(getattr(getattr(monitor, "vcp", None), "description", "") or str(monitor)) monitor_data = {"name": description, "input": "unavailable"} try: with monitor: monitor_data["input"] = str(monitor.get_input_source()) except Exception as exc: monitor_data["input"] = f"error: {exc}" results.append(monitor_data) return results if __name__ == "__main__": print("Connected monitor diagnostics:") monitors = get_monitor_info() for m in monitors: print(f"Monitor: {m['name']} | Current Input: {m['input']}")