1

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

4

1 回答 1

0

_NET_WORKAREA根窗口的属性可能是最接近的匹配。然而,在多头系统上,它将为您提供所有监视器上的组合工作区域。

如果这就是您想要的,那很好(但请参阅此处关于使窗口跨越多个监视器)。如果您想在单个监视器上最大化,那么就会出现问题,因为没有像_NET_WORKAREA. 你最好的办法是创建一个最大化状态的窗口,然后查询它的大小。如果这不是一个选项,恐怕您将不得不查询可用监视器的数量和大小,然后通过从整个区域中减去“struts”来计算每个监视器的工作区域(参见此处关于_NET_WM_STRUT_NET_WM_STRUT_PARTIAL)。

于 2013-09-07T22:32:03.147 回答