Как проверить, свернуто ли окно через терминал в linux?
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 - идентификатор окна.См. xwininfo -h, чтобы узнать о других способах определения окна для тестирования.
0x60001d
xwininfo -h
<a href="http://manpages.debian.net/cgi-bin/man.cgi?query=xwininfo&sektion=1" rel="nofollow">xwininfo</a> -name 'Window Title' | grep 'Map State:'
Ищите IsViewable против IsUnMapped; они приходят из поля map_state, возвращаемого XGetWindowAttributes.
IsViewable
IsUnMapped
map_state
XGetWindowAttributes
(По крайней мере, это работает с традиционными оконными менеджерами; я не знаю, делает ли Compiz что-то нехорошее, чтобы минимизировать свернутые окна.)