Я запускаю X через медленное сетевое соединение. Как я могу узнать, когда окно стало видимым? Мне нужно подождать, чтобы я мог выполнить другую операцию в видимом окне.X11: ждет, пока не будет видно окно?
xterm -T foo &
# how to flush the display, or wait until the window is visible?
# polling the visibility would be acceptable as well
xmovewindow foo 10 20
обновление: Благодаря Джим Льюису, здесь есть функция быстрой оболочки, которая делает трюк.
function xwait() {
while ! xwininfo -name $1|grep 'Map State: IsViewable';do sleep 1;done
}
xterm -T foo &
xwait foo
xmovewindow foo 10 20
IIRC, Solaris имеет команду с таким именем, как «toolwait», который пытается это сделать, более или менее. Тем не менее, ISTR, который он обнаружил, когда дочерний процесс создал окно, а не то, что он обязательно отображался. –