Se você quiser colocar isso no seu arquivo .bashrc
, ele será melhorado um pouco:
- você deve garantir que a string seja direcionada para o terminal
- também, o shell deve ser interativo (no caso de alguma fonte de script
.bashrc
) -
echo
com a opção-e
tem problemas de portabilidade. Useprintf
.
Colocando os dois juntos e gravando no erro padrão (porque não está em buffer):
[ -n "PS1" ] && [ -t 2 ] && printf '3[6 q' >&2
O urxvt implementa a sequência de controle DECSCUSR
documentada em Sequências de controle do XTerm :
CSI Ps SP q
Set cursor style (DECSCUSR, VT520).
Ps = 0 -> blinking block.
Ps = 1 -> blinking block (default).
Ps = 2 -> steady block.
Ps = 3 -> blinking underline.
Ps = 4 -> steady underline.
Ps = 5 -> blinking bar (xterm).
Ps = 6 -> steady bar (xterm).
Observe que os códigos 5 e 6 são recursos do xterm.
Esta seqüência de controle não é mencionada na página de manual on-line urxvt (7) , mas é mencionada no entrada do changelog :
9.19 Sun Oct 27 17:16:07 CET 2013
...
- add support for the set cursor style (DECSCUSR) control
function.
também o código-fonte mostra isso (consulte set_cursor_style
), e a fonte da página de manual mostra a característica. Isso foi atualizado em 2014 para os códigos 5 e 6 .
Leitura adicional:
- 6.3.2 Esta Shell é interativa? (manual de referência do Bash) )
- 6.4 Expressões Condicionais de Bash (manual de referência do Bash)