根窗口的
_NET_WORKAREA
属性可能是最接近的匹配。但是在多头系统上,它将为您提供所有显示器上的组合工作区域。
如果这就是你想要的,那很好(但是在制作一个窗口时看here跨越多个监视器)。如果您希望在单个监视器上实现最大化,那么就会出现问题,因为没有像_NET_WORKAREA
这样的每个监视器API。您最好的选择是创建一个处于最大化状态的窗口,然后查询其大小。如果这不是一个选项,我担心您将不得不查询可用监视器的数量和大小,然后通过从整个区域中减去“struts”来计算每个监视器的工作区域(参见here关于_NET_WM_STRUT
和_NET_WM_STRUT_PARTIAL
)。