Of course if you want colours, you can often force programs to use them anyway. For example, I use the alias:
alias new='ls -lthr --color=always | tail'
Normally ls will not use colours when writing to a pipe (not a tty).