tmux-plugins / tpm

Tmux Plugin Manager
MIT License
11.9k stars 417 forks source link

Restroring progress indication, gone since 2.4 #223

Closed jaclu closed 1 year ago

jaclu commented 2 years ago

Progress has been missing in tpm since tmux 2.4

Tmux run-shell only displays output in copy mode up to version 2.3. After that, it is printed in view mode, and the result is scripted run-shell "echo $msg" will not be displayed as they happen.

By removing the > /dev/null 2>&1 in bindings/clean_plugins & install_plugins, the echoes will be displayed once the process is completed, same as for bindings/update_plugins. Since I do not know the reason for those > /dev/null statements, I did not remove them, somebody probably had a reason to put them there at some point.

But starting with 2.4 echo progress will not be real-time regardless of /dev/null usage or not, take update_plugins as an example, all progress is displayed once the process is completed.

With this display-message approach, progress indication is restored, and far superior compared to only seeing what is intended as step-by-step progress reports after the sometimes lengthy process is completed.

I set a sleep for error messages, to give them time to be read before being overwritten by the next message. I selected 3 seconds here, it seems reasonable.

I have tested this all the way down to tmux version 2.0 For versions 2.0-2.3 both echo and display-message will indicate progress, so duplication yes, but it does not have any negative impact.