我在我的bash脚本中使用了https://unix.stackexchange.com/questions/14159/how-do-i-find-the-window-dimensions-and-position-accurately-including-decoration的答案,并且在我的Silentcast Xfce应用程序上取得了很好的成功,但是现在其他人正在使用它,他们在Ubuntu 14.04中发现了一些问题,Unity。这是由输出引起的一个问题:
xwininfo -id $(xdotool getactivewindow)
显示:
Relative upper-left X: 0
Relative upper-left Y: 0
我用它来计算边框的宽度和标题栏的高度。它们不应该是0。
有没有人知道如何在Unity for Ubuntu 14.04中获取窗口边框的宽度和标题栏的高度。
或者,如何直接获取完整的窗口尺寸?
我已经针对xwininfo软件包https://bugs.freedesktop.org/show_bug.cgi?id=84348
提交了针对xorg的错误我还在Ubuntu 14.04下找到了有关在Unity中创建自己主题的信息:https://wiki.ubuntu.com/Unity/Theming
似乎答案是在某处的主题页面,但我不明白,特别是因为我不使用Ubuntu或Unity。
答案 0 :(得分:3)
这也适用于compiz。有几种方法可以在某些方面获得这些信息:
wnckprop --xid=$(xdotool getactivewindow)
否则,您可以将从xwininfo获得的Absolute值与可以访问的装饰大小混合使用:
xprop _NET_FRAME_EXTENTS --xid=$(xdotool getactivewindow)
正如您在freedesktop documentation中所读到的那样,该属性按此顺序列出了尺寸:左,右,上,下。
为了您的信息,如果您想获得完整的帧大小,包括窗口周围的输入区域,您可以使用xwininfo -frame
。