0

我需要从 xrandr 获取信息到我的软件中。假设那是我的输出xrandr -q

Screen 0: minimum 8 x 8, current 1920 x 1968, maximum 32767 x 32767
LVDS1 connected primary 1366x768+309+1200 (normal left inverted right x axis y axis) 277mm x 156mm
   1366x768      60.02*+
   1360x768      59.80    59.96 
   1280x720      60.00 
   1024x768      60.00 
   1024x576      60.00 
   960x540       60.00 
   800x600       60.32    56.25 
   864x486       60.00 
   640x480       59.94 
   720x405       60.00 
   680x384       60.00 
   640x360       60.00 
DP1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200     59.95*+
   1920x1080     60.00 
   1600x1200     60.00 
   1680x1050     59.95 
   1280x1024     60.02 
   1280x960      60.00 
   1024x768      60.00 
   800x600       60.32
   640x480       60.00 
   720x400       70.08

我想要的数据是可能的解决方案以及可能的刷新率。到目前为止,我的软件从/sys/class/drm/card0-DP-1等等读取功能,但我找不到任何关于任何解决方案可能的刷新率的信息。有什么提示吗?

我还想知道监视器是否以及如何相互排列,这意味着在设置时是否使用了--above, --below,等命令。有什么方法可以确定吗?--left-of--right-of

我真正不想做的是解析终端的 xrandr 输出。所以问题是是否有人知道如何以一种好的方式做到这一点。我在 Go 环境中工作,但到目前为止没有找到任何可以解决我的问题的包。

欢迎任何帮助。

4

1 回答 1

0

您可能想查看XCBgithub.com/BurntSushi/xgb的纯 Go 实现的包,它可以访问该工具randr

于 2018-02-28T16:05:51.437 回答