Renomear automaticamente a guia do terminal OS X com o nome virtualenv

Costumo trabalhar em vários projetos Python ao mesmo tempo, cada um com seu próprio ambiente virtual e guia de terminal. Eu uso o virtualenvwrapper para gerenciar meus virtuaisenvs.

Gosto de ter cada guia de terminal com o nome do projeto carregado nela, então mudei meu script de pré-ativação para ficar assim:

#!/bin/bash
# This hook is run after every virtualenv is activated.
# The environment name is passed as argument

# renames the current os x terminal tab title
printf
"e]1;$1a"

Agora, sempre que eu mudo para um virtualenv com o workoncomando, minha guia é atualizada automaticamente.

Eu adicionei um comando semelhante ao comando predeactivate para remover o nome da guia do terminal:

#!/bin/bash
# This hook is run before every virtualenv is deactivated.

# remove virtualenv name from terminal tab name
printf
"e]1;a"

Isso também funciona com o iTerm2.