Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

FAQ title bar answer using chpwd()

Hi, ZSH workers,

I have a question about an answer in the ZSH FAQ. Is this the right list to ask about it?


Answer 3.6 suggests using chpwd() to emit terminal control sequences to update the title bar for Apple's Terminal.app. This probably isn't the right place to do it, because cd's can happen inside functions, pipelines, and so on whose output is going to be captured for use elsewhere. The terminal control sequences will contaminate the captured output instead of going to the terminal.

There's at least one place in the wild where this causes an issue, with Android development scripts: https://github.com/robbyrussell/oh-my-zsh/issues/3524

The prompt or other known user-interaction output points are probably the only safe place to emit terminal control sequences like this. So precmd() is probably a better choice than chpwd() for this. It seems like chpwd() should probably not be used to do anything that emits to stdout, in case it's being captured.

Should the FAQ answer be updated to reflect this?


Messages sorted by: Reverse Date, Date, Thread, Author