我需要找到窗口的位置和大小,但是我不知道如何做。例如,如果我尝试:
id.get_geometry() # "id" is Xlib.display.Window
我得到了类似于这样的东西:
data = {'height': 2540,
'width': 1440,
'depth': 24,
'y': 0, 'x': 0,
'border_width': 0
'root': <Xlib.display.Window 0x0000026a>
'sequence_number': 63}
我需要找到窗口的位置和大小,我的问题是:“y”,“x”和“border_width”始终为0;更糟糕的是,返回的“height”和“width”没有包括窗口边框。
在这种情况下,在我的X屏幕上(其尺寸为4400x2560),我期望x = 1280,y = 0,width = 1440,height = 2560。
换句话说,我正在寻找Python等效代码:
#!/bin/bash
id=$1
wmiface framePosition $id
wmiface frameSize $id
如果您认为Xlib不是我想要的,可以自由地提供非Xlib解决方案,只要它可以将窗口ID作为参数(就像上面的bash脚本)。在Python代码中使用bash脚本的输出明显是一种变通方法,但并不合适。