Como posso adicionar um bipe ao prompt do ZSH?

3

Eu quero ser notificado quando um trabalho estiver concluído ou algo terminar em um terminal, e eu li em algum lugar sobre como adicionar um Bell ao prompt de comando e, em seguida, ligar o urgentOnBell. Mas não consigo descobrir como adicionar o sino corretamente ao meu prompt do ZSH. Tudo apenas imprime \ a. [\ a] não funciona,% {\ a%} não funciona, \ a não funciona. Qual é a maneira correta de fazer isso?

    
por MJBoa 30.11.2012 / 19:56

3 respostas

3

Ok, descobri. Eu adicionei:

%{$(echo "\a")%} 

Talvez não seja a mais bonita (é preciso simplesmente enviar um código de escape corretamente), mas funciona.

    
por 30.11.2012 / 20:10
3

Eu tive esse problema há um tempo atrás e encontrei uma solução de trabalho, embora não faça um sinal sonoro.

sudo apt-get install espeak
espeak "job complete"
    
por 01.12.2012 / 00:46
0

Você pode adicionar o caractere de controle literal à linha de prompt. Em vim , no modo de inserção, Ctrl + V seguido por Ctrl + G produzirá o caractere da campainha . Então, ele será exibido como, por exemplo, ^G$_USERNAME $_PATH

No entanto, descobri que adicioná-lo ao prompt fará com que o terminal toque novamente, por exemplo, redimensionar. Adicioná-lo a um gancho precmd parece ser a melhor solução, por exemplo,

precmd_bell () {
    print "^G"
}

add-zsh-hook precmd precmd_bell
    
por 28.09.2018 / 14:40