thrig não está vendo isto porque o ato de resetar o terminal xyr está causando um sinal WINCH
ou algo assim, o que faz com que o ZLE reexiba o (s) prompt (s).
Ele faz no terminal que eu estou digitando no momento, também. A cadeia de reset do terminal emitida por tput reset
inclui a sequência de controle DECCOLM. Isso redefine o terminal, do modo de 100 colunas que eu coloquei, de volta ao modo de 80 colunas. Na primeira vez, isso causa um sinal WINCH
porque o terminal é redimensionado. O tempo segundo muda de 80 colunas para 80 colunas, o que não causa WINCH
. Então eu só vejo o comportamento do thrig uma vez no meu terminal.
Você não está vendo isso porque isso não acontece com o seu terminal e você omitiu dizendo ao ZLE que ele precisa reexibir o (s) prompt (s) como parte do widget:
reset_widget() { tput reset; builtin zle .redisplay; }