Tôi đang chạy X trên kết nối mạng chậm. Làm cách nào tôi có thể biết thời điểm cửa sổ hiển thị? Tôi cần phải đợi để tôi có thể thực hiện một thao tác khác trên cửa sổ hiển thị.X11: đợi cho đến khi một cửa sổ hiển thị?
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
cập nhật: Cảm ơn Jim Lewis, đây là chức năng trình bao nhanh.
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 có một lệnh với một cái tên như 'toolwait' mà cố gắng để làm điều này, nhiều hơn hoặc ít hơn. Tuy nhiên, ISTR mà nó phát hiện khi quá trình con tạo ra một cửa sổ, không phải là nó nhất thiết phải được hiển thị. –