23 lines
739 B
Python
23 lines
739 B
Python
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']}")
|