gpt4 book ai didi

x11 - 是否可以使用 Xrandr 获取监视器描述?

转载 作者:行者123 更新时间:2023-12-05 06:42:59 27 4
gpt4 key购买 nike

我正在编写一个跨平台库,它提供对窗口系统 (Win32/Cocoa/X11/Wayland) 的低级别访问。现在我正在努力获取有关已连接显示器的信息。我的“屏幕信息”实用程序使用我当前的双显示器设置写入以下输出:

- name: DVI-D-0
size (pixels): (1920, 1080)
physical size (mm): (477, 268)
resolution (px/cm): (40, 40)
- name: DVI-I-1
size (pixels): (1680, 1050)
physical size (mm): (433, 271)
resolution (px/cm): (38, 38)

该名称由 Xrandr 扩展库提供的 XRRMonitorInfo 结构的 name 成员获取。在我的 [MATE] 控制面板中,它显示了每个连接的显示器的供应商名称(分别是 Acer Technologies 和 Samsung Electric Company)。

screenshot

我一直在深入研究 MATE 源代码,看看他们是如何获得供应商名称的,但到目前为止,它一直在绕圈子。有什么方法可以使用 Xrandr 库获取供应商名称等信息吗?如果没有,这还能如何实现?感谢您的帮助。

最佳答案

看起来您可以通过读取显示器的 EDID 来获取此信息。使用 get-edidxrandr --verbose,您可以获得 EDID block 。 parse-edid 可以将二进制数据解码为可读信息,其中将包含监视器名称。

这里的 EDID 实用程序可能有可用的代码供审查:http://www.polypux.org/projects/read-edid/

另请参阅 Stack Overflow 帖子:Linux retrieve monitor names

关于x11 - 是否可以使用 Xrandr 获取监视器描述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35168810/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com