在Ubuntu14.04的Bash中,Unity,我如何获得一个打开窗口的总大小,包括边框和标题?

在Ubuntu14.04的Bash中,Unity,我如何获得一个打开窗口的总大小,包括边框和标题?,bash,window,ubuntu-14.04,ubuntu-unity,Bash,Window,Ubuntu 14.04,Ubuntu Unity,我在bash脚本中使用了对的答案,并在Xfce上成功地使用了我的应用程序,但是现在其他人都在使用它,他们在Ubuntu 14.04 Unity中发现了一些问题。以下是由以下输出引起的一个问题: xwininfo-id$(xdotool getactivewindow) 显示: 相对左上角X:0 相对左上角Y:0 我用它来计算边框的宽度和标题栏的高度。它们不应为0 有人知道如何在Ubuntu14.04的Unity中获得窗口边框的宽度和标题栏的高度吗 或者,如何直接获得完整的窗口尺寸 我已经针对

我在bash脚本中使用了对的答案,并在Xfce上成功地使用了我的应用程序,但是现在其他人都在使用它,他们在Ubuntu 14.04 Unity中发现了一些问题。以下是由以下输出引起的一个问题:

xwininfo-id$(xdotool getactivewindow)

显示:

相对左上角X:0
相对左上角Y:0

我用它来计算边框的宽度和标题栏的高度。它们不应为0

有人知道如何在Ubuntu14.04的Unity中获得窗口边框的宽度和标题栏的高度吗

或者,如何直接获得完整的窗口尺寸

我已经针对xwininfo包的xorg提交了一个bug

我还发现了有关在Ubuntu14.04下的Unity中创建自己主题的信息:


答案似乎就在某个主题页面上,但我还不明白,特别是因为我不使用Ubuntu或Unity。

这也适用于compiz。您可以通过以下几种方式获得这些信息:

wnckprop --xid=$(xdotool getactivewindow)
否则,您可以将从xwininfo获得的绝对值与装饰的大小混合使用:

xprop _NET_FRAME_EXTENTS --xid=$(xdotool getactivewindow)
如中所述,该属性按以下顺序列出尺寸:左、右、上、下


请参考,如果您想获得完整的帧大小,包括窗口周围的输入区域,可以使用
xwininfo-frame

Fantastic。我喜欢混合使用xprop\u NET\u FR。。。使用xwininfo-frame,因为wnckprop是太大的包的一部分。我想确定xprop的输出。。。按以下顺序给我宽度:左,右,上,下。“顶部”很明显,因为它很大,但其余的数字在我测试的所有测试中都是相同的。我想报道任何奇怪的主题,但需要确保顺序是正确的。特雷维诺已经回答了我的问题。是的,它是左、右、上、下,这里是文档:经过实验,我更好地理解了Ubuntu中输入区域所指的内容。由于边框的默认大小为0,因此窗口周围有一个10px的区域,您可以在其中抓取窗口以调整大小。它可能还有其他用途。但是,它似乎是一个看不见的10px边界。因此,来自xwininfo的绝对值给出了内部窗口,而xwininfo-frame给出了整个窗口,包括标题栏和周围额外的10px(如果输入区域是10px)。xprop。。。只给出装饰的大小,不包括输入区域。因此,需要全部3个命令才能全面了解情况。