我尝试在 bash 脚本中获取窗口的最大尺寸(即屏幕尺寸减去屏幕边缘的面板)。我正在使用 Kubuntu,但如果它适用于任何 Linux 系统,那就太好了。
目前,我的解决方案是通过 wmctrl 最大化事件窗口:
wmctrl -r :ACTIVE: -b add,maximized_horz,maximized_vert
然后通过 xwininfo 获取窗口的大小:
xwininfo -id $(xdotool getactivewindow)
不幸的是,我没有得到窗口的大小,而是得到了窗口的大小和它的边框(如果我删除了边框,我得到了预期的值)。
所以我的问题是:
1 - 是否有删除窗口边框的命令? (我只知道怎么手动)
2 - 有更好的方法吗? (如果可以在不最大化窗口的情况下完成,那就太好了)
预先感谢您的帮助
最佳答案
我意识到我所说的 border 实际上是标题栏...如果我使用 xwininfo -stats
我确实得到了边框宽度(0案件)。标题栏高度(最大化窗口后)在字段 Absolute upper-left 中获得。以下给了我预期的高度:
eval $(xwininfo -id $(xdotool getactivewindow) | sed -n -e "s/^ Height: \+\([0-9]\+\).*/Height=\1/p" -e "s/^ Absolute upper-left Y: \+\([0-9]\+\).*/HeightTitleBar=\1/p")
Height=$(($Height+$HeightTitleBar))
感谢您的帮助!
关于Linux : Get window border height,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18514989/