如何检查是否通过linux中的终端最小化窗口

问题描述:

如何通过linux中的终端检查窗口是否最小化?如何检查是否通过linux中的终端最小化窗口

+1

您正在使用哪个窗口管理器? – meagar 2010-10-30 03:09:52

+0

Ubuntu的默认窗口管理器 – htmlajax 2010-10-30 03:18:36

+0

看起来像是Compiz – htmlajax 2010-10-30 03:21:18

 
xwininfo -name 'Window Title' | grep 'Map State:' 

查找IsViewableIsUnMapped;这些来自map_state字段由XGetWindowAttributes返回。

(至少,这与传统的窗口管理器的工作原理。我不知道,如果Compiz的不扭曲的东西,允许缩略最小化的窗口)

+1

它不适用于Enlightenment(e17),其中'map_state'似乎总是'IsViewable'(这是一个功能,它允许实例[屏幕截图隐藏窗口](http://unix.stackexchange.com/a/93159/26952))。 – 2013-10-01 13:55:05

+0

无法在Ubuntu 13.04上使用Compiz。某些窗口的结果是“Map State:IsViewable”,对于其他窗口的结果是“Map State:IsUnMapped”,但该字段似乎与窗口的实际可见性(正常或最小化)无关。 – Avio 2013-11-18 14:09:53

if xwininfo -all -id $windowIdGoHere |grep "Hidden"; then 
    echo "is hidden" 
fi 

[ $(xwininfo -id 0x60001d -all | awk '/Maximized/{print}' | wc -l) -eq 2 ] && echo Maximized 

其中0x60001d是窗口ID。有关识别测试窗口的其他方法,请参见xwininfo -h