Como ter um título xterm mais longo em zsh

0

Estou usando o zsh 5.3. Eu vi o link e decidi usá-lo -

~/.zshrc

autoload -Uz add-zsh-hook

function xterm_title_precmd () {
    print -Pn '\e]2;%n@%m %1~\a'
}

function xterm_title_preexec () {
    print -Pn '\e]2;%n@%m %1~ %# '
    print -n "${(q)1}\a"
}

if [[ "$TERM" == (screen*|xterm*|rxvt*) ]]; then
    add-zsh-hook -Uz precmd xterm_title_precmd
    add-zsh-hook -Uz preexec xterm_title_preexec
fi

enquanto funciona e funciona lindamente, não foi totalmente feito. Por exemplo, mostra -

shirish@think-debian prompts

em vez de

shirish@thnk-debian /usr/share/zsh/functions/Prompts

qual seria o caminho completo. Enquanto eu entendo isso é benéfico esp. Se você estiver em um laptop ou em um dispositivo menor do tamanho da tela, em desktops isso deve mostrar o caminho completo.

Alguém sabe como posso fazer isso?

Eu sei que o que precisa ser mudado está dentro da Impressão, mas o quê?

function xterm_title_precmd () {
        print -Pn '\e]2;%n@%m %1~\a'
    }

    function xterm_title_preexec () {
        print -Pn '\e]2;%n@%m %1~ %# '
        print -n "${(q)1}\a"
    } 
    
por shirish 26.12.2016 / 21:59

1 resposta

2

A partir da documentação %~ é expandida para o nome do diretório, mas usando ~ no lugar de $HOME . %1~ diz apenas para usar o último 1 componente do nome.

Portanto, basta remover o 1 em '\e]2;%n@%m %1~\a'

    
por 26.12.2016 / 22:15