我所有的搜索都得到了关于如何使用 C 获取 X11 中活动屏幕的几何形状的答案,但该屏幕可能包含许多显示器,并且通常只有一个屏幕,除非有许多用户同时使用同一台计算机。
关于获取屏幕几何形状的那些答案已经过时,因为它们没有考虑多个显示器。
那么,如何获取鼠标指针或活动窗口所在显示器的几何形状(x、y、宽度、高度)?我想要相对于屏幕的几何形状。
您需要使用 RandR 扩展 API。获取源代码xrandr
实用程序并从那里窃取您需要的东西。你需要XRRGetMonitors
函数和相关数据结构。您还可以使用xrandr
在命令行上获取所需的信息。
我不知道是否存在活动监视器这样的东西,因为活动窗口可以跨越多个监视器,并且指针仍然可以位于另一个监视器中。无论如何,XRRMonitorInfo
结构包含有关显示器几何形状的所有信息,包括其尺寸(以像素和毫米为单位)及其在逻辑屏幕上的位置,因此您可以从一对屏幕坐标中提取显示器描述。
也可以看看这个答案 https://stackoverflow.com/a/42886310/775806.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)