Содержимое tailboxbg не обновляется после запуска - PullRequest
0 голосов
/ 25 октября 2019

Я использую dialog для создания сложного интерфейса. В какой-то момент я запускаю программу, которая выводит краткие журналы (т.е. текущий шаг сценария) в stdout, в то время как полные журналы текущего шага записываются в файл.

Естественно, яиспользуя сочетание --prgbox для отображения первого (краткого) вывода и --tailboxbg для отображения полных журналов текущего шага в отдельном виджете. Кажется, он работает, однако содержимое --tailboxbg отображается при запуске (если файл уже содержит данные), но затем никогда не обновляется.

Простой способ проверить это поведение:

  • Запустите на терминале следующее:
while true; do
    echo test >> /tmp/dialog-sample-file.txt
    sleep 1
done
  • Затем запустите это на другом терминале (yes - это программа, которая непрерывно выводит y, если онане на вашем компьютере):
dialog \
    --begin 1 1 \
    --tailboxbg /tmp/dialog-sample-file.txt 15 15 \
    --and-widget --begin 16 1 \
    --prgbox yes 15 15

prgbox правильно отображает y с, но tailboxbg никогда не обновляется. Раздражающий обходной путь использования двух tailboxbg и блокирующего виджета (например, --msgbox). По какой-то причине в этом случае tailboxbg правильно обновляются. Но я хочу, чтобы мой пользовательский интерфейс перешел к следующему шагу, как только программа будет завершена, что потребует уродливых хаков с этим обходным путем.

Я что-то не так делаю?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...