Xlib:如何询问窗口管理器最大化窗口大小?

时间:2013-09-06 00:22:20

标签: xlib window-managers x11

我希望我的程序窗口尽可能大,而不会重叠窗口管理器的各种小窗口,例如寻呼机。在创建窗口之前,有没有办法问wm最大窗口大小是多少?

1 个答案:

答案 0 :(得分:1)

根窗口的

_NET_WORKAREA属性可能是最接近的匹配。但是在多头系统上,它将为您提供所有显示器上的组合工作区域。

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