Os recursos do terminal não estão disponíveis em todos os terminais e podem diferir com as versões do tmux. Eu vejo a descrição citada no tmux 1.6 no Debian 7. O Ubuntu 14.04 é um pouco antigo e tem o tmux 1.8 (mesma descrição).
O exemplo dado na página de manual se parece com DECSCUSR
, que é suportado por xterm
começando com patch # 252 em 2009. Consulte Sequências de Controle 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).
Para usá-los, você faria uma entrada terminfo modificada usando o tic de ncurses, por exemplo,
infocmp -x >foo
vi foo
tic -x foo
adicionando esta linha (com uma guia principal, como os outros recursos):
Cs=\E[%p\sq, Csr=\E[0\sq,
No entanto, verificando a origem do tmux 2.1, ele não lê mais esses recursos do terminfo e foi modificado para usar Cs
e Cr
para definir cores (feito em versões mais antigas usando Cc
e Cr
) . A versão mais recente possui lógica integrada para reconhecer DECSCUSR
sem uma extensão terminfo.
Terminais baseados em VTE (como terminal XFCE) podem (dependendo da versão) implementar DECSCUSR
, mas é improvável que o console Linux faça isso, já que implementa apenas um subconjunto do VT220 enquanto DECSCUSR
é de um VT520
terminal (um superconjunto do VT220).
Você verá diferenças com outros aplicativos como emacs porque DECSCUSR
sobrepõe outros recursos de estilo de cursor, como o recurso de cursor piscante, definido ou redefinido com os recursos cvvis
e cnorm
de terminfo para xterm
:
CSI ? Pm h
DEC Private Mode Set (DECSET).
Ps = 1 2 -> Start Blinking Cursor (att610).
No entanto, parece que você deseja modificar a aparência do cursor no console do Linux (também chamado de console virtual). DECSCUSR
não tem efeito.
Para tornar seu cursor um bloco piscando todo tempo, você teria que alterar os recursos de aparência do cursor na (s) descrição (ões) do terminal que você está usando. Esses são civis
(tornar o cursor invisível), cnorm
(tornar o cursor uma aparência "normal") e cvvis
(tornar o cursor muito visível):
- Fazer ambos os
\e[?8c
na entrada "linux" diria a programas como o emacs usando essa entrada para usar o cursor da caixa piscando. - O tmux também lê a entrada do terminal, olhando para
cnorm
ecivis
. - elinks, por outro lado, é codificado, ignorando o banco de dados do terminal. Em uma rápida leitura de sua fonte, não vejo nenhuma seqüência de escape que redefina o terminal ou modifique a aparência do cursor.
Como você está usando tmux
, também pode ser necessário modificar o xterm
(para que os aplicativos em execução dentro de tmux
usem esse estilo de cursor). Mas teste sem isso primeiro: se você precisar , provavelmente é possível combinar o \e[?8c
com a string cnorm
existente, pois xterm
ignora \e[?8c
.