Estoy ejecutando X a través de una conexión de red lenta. ¿Cómo puedo saber cuándo se ha vuelto visible una ventana? Necesito esperar para poder realizar otra operación en la ventana visible.X11: ¿esperar hasta que se vea una ventana?
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
actualización: Gracias a Jim Lewis, aquí hay una rápida función de shell que hace el truco.
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 tiene un comando con un nombre como 'toolwait' que intenta hacer esto, más o menos. Sin embargo, ISTR que detectó cuando el proceso hijo creó una ventana, no es que necesariamente esté en exhibición. –