【问题标题】:Xlib multiple display supportXlib 多显示支持
【发布时间】:2015-08-03 07:39:44
【问题描述】:

我想通过 Xlib 获取显示信息,具体来说:

  • 迭代显示
  • 获取每个显示器的屏幕矩形(相对于虚拟屏幕 - X11 是否具有映射物理屏幕的虚拟屏幕的概念,类似于 Windows 和 OSX?)
  • 获取每个显示器的客户区矩形(因此屏幕减去任务栏等)

谢谢。


半答案:使用XineramaQueryScreens() 我能够枚举显示器并获得它们在虚拟屏幕中的坐标和它们的大小。现在如何获取桌面大小,即窗口最大化的大小?

【问题讨论】:

    标签: c linux x11 xlib xorg


    【解决方案1】:

    您需要阅读_NET_DESKTOP_GEOMETRY(也可能是 _NET_DESKTOP_VIEWPORT 和 _NET_WORKAREA )

    【讨论】:

    • 很遗憾,所有这些属性都不适用于多台显示器。
    • 你用的是哪个wm?
    • Ubuntu Unity (10.04) 在具有 2 个物理屏幕的 Virtualbox 上:_NET_WORKAREA 给了我整个虚拟屏幕的面积减去顶部和底部栏(如果我将底部栏放在右侧,它甚至不再考虑 那个 - 一块垃圾)
    • 对于 NET_DESKTOP* 这些再次查看整个虚拟屏幕,而不是 Xinerama 报告的物理屏幕。
    猜你喜欢
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 2020-07-27
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多