Избегайте анализа вывода Xrandr
Мне нужно получить информацию от 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, но пока не нашел ни одного пакета, который бы решал мои проблемы.
Любая помощь приветствуется.
1 ответ
Вы можете посмотреть на github.com/BurntSushi/xgb
пакет, который является чистой реализацией Go XCB, и имеет доступ кrandr
средство.