Libxrandr库:如何改变连接监视器的属性
libxrandr library: how to change properties of connected monitors?
我使用c++/Qt和libxrandr库编写了一个应用程序来改变监视器的分辨率和方向。但是我必须扩展它的功能。请帮助我了解如何做到以下几点:
- 获取连接的监视器列表
- 改变它们的分辨率和方向
- 将它们相对放置(例如,第一个监视器在左边,第二个从右边)
问题解决
XRROutputInfo *output_first_info = XRRGetOutputInfo(dpy, sr, sr->outputs[X]);
XRRSetCrtcConfig(dpy, sr, output_first_info->crtc, CurrentTime, XM, YM, sr->modes[M].id, R, &sr->outputs[X], 1);
其中X -要配置的监视器的数目XM, YM -虚拟屏幕中的坐标M -模式数
获取已连接监视器的模式列表:
int jj = 0;
for (int i = 0; i < sr->noutput; i++)
{
XRROutputInfo *output_info = XRRGetOutputInfo (dpy, sr, sr->outputs[i]);
XRRCrtcInfo *crtc_info = XRRGetCrtcInfo(dpy, sr, output_info->crtc);
for (int j = jj; j < output_info->nmode; j++)
{
qDebug() << output_info->name << sr->modes[j].name << j;
jj++;
}
}
相关文章:
- 当套接字连接断开时检测C/C++Unix
- 无法在windows上使用mingw将sqlite3与c连接
- 到连接组件算法的问题(递归)
- QTcpSocket在不阻塞GUI的情况下重新连接到服务器
- 无法在C++中建立与MySQL数据库的连接
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 在Qt Creator中,如何在连接到正在运行的进程后查看控制台输出
- 连接 dockerized 模型和 dockerized 数据库时出现"无法 SQLConnect"错误
- 使用 bfs 解决连接组件问题时得到错误的答案
- 在C++的两个字符串中连接以逗号分隔的唯一值
- 如何修复valgrind启动时的致命错误(与libc6-dbg和libc6-dbg:i386连接)
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- OSX蓝牙打开RFCOMMChannelAsync声称已连接,但未建立连接,并且从未调用过委托
- 在 libcurl 连接池中预创建连接
- 套接字连接"Operation not permitted"错误,甚至使用升压/平发器根.cpp
- 如何制作新连接监视器主屏幕
- C++执行会导致监视器断开连接
- 连接的监视器名称
- Libxrandr库:如何改变连接监视器的属性
- Windows多监视器:当目标可用但未活动时,如何确定目标是否与源物理连接