Я пытаюсь записать сценарий оболочки, который распознает, отображено ли окно Thunderbird, и раз так оно располагает его к лотку сообщений.
Я хотел бы использовать его в этом ответе, "Как сохранить Thunderbird и Гибридный язык, работающий на фоне?" вопрос.
До сих пор я использую "xdotool", чтобы проверить, отображен ли Thunderbird, и моделируйте близко на нем, как предложено в, "Как эмулировать нажатие кнопки Close из сценария?".
#!bin/bash
thunderbird &
TB=$(xdotool search --class thunderbird)
while [ -z "$TB" ]; do
sleep 2
TB=$(xdotool search --class thunderbird)
done
xdotool search --class thunderbird windowunmap %@
Но xdotool search --class thunderbird
результат возвратов к этому времени Thunderbird запускается, прежде на самом деле отображен, таким образом, xdotool search --class thunderbird windowunmap %@
ожидает навсегда, ничего не делая.
Обойти это ограничение a sleep xx
добавляется в фактической команде, но необходимое время сна, задерживает от системы до системы.
Я также использовал "xwininfo", чтобы проверить, отображен ли Thunderbird, но он ведет себя то же как "xdotool", таким образом, я должен был добавить sleep xx
здесь также.
#!bin/bash
thunderbird &
t="Thunderbird"
stop=0
xwininfo -name $t > /dev/null 2>&1
if [ $? -eq 0 ]; then
stop=1
fi
while [ $stop -eq 0 ]; do
xwininfo -name $t > /dev/null 2>&1
if [ $? -eq 0 ]; then
stop=1
fi
done
sleep 2
xdotool search --class thunderbird windowunmap %@
Там какой-либо другой путь состоит в том, чтобы проверить на "действительно" отображенные окна?