Я не слишком уверен в WeeChat, но это возможно в mIRC и Irssi с помощью моего патча.
Если можно заставить WeeChat делать слышимый звонок, когда Вы будете упомянуты/выделены, то мой патч будет работать на WeeChat также.
for i in 10 20 30; do echo $i; sleep 1; done | dialog --title "My Gauge" --gauge "Hi, this is a gauge widget" 20 70
хорошо работает, таким образом, @Shadur является правильным и там буферизует приведенный в действие.
Добавление sed
стриппер в соединение показывает, что это - преступник (только показывает 0 и 30):
for i in 10 20 30; do echo $i; sleep 1; done | sed 's/\([0-9]*\).*/\1/' | dialog --title "My Gauge" --gauge "Hi, this is a gauge widget" 20 70
Теперь, когда проблема известна, у Вас есть несколько опций. Самым чистым был бы к раунду/сокращению процент в awk
или с математикой или с обработкой строк, но так как у Вас есть GNU sed
, просто добавление -u
или --unbuffered
должен добиться цели.
Однако для пользы полноты, простой тестовый сценарий показывает awk
также делает буферизацию:
for i in 10 20 30; do echo $i; sleep 1; done | awk '{print $0}' | sed -u 's/\([0-9]*\).*/\1/' | dialog --title "My Gauge" --gauge "Hi, this is a gauge widget" 20 70
Но Вы уже обрабатываете это с fflush
, таким образом, я не ожидаю проблем.