Posso definir um título padrão para uma janela do tmux?

31

Neste momento, o título é padronizado como reattach-to-user-namespace (OS X), o que é bastante irritante. Existe uma opção que posso colocar no meu tmux.conf para obter outro título padrão?

Se não, como eu faria uma ligação de chave que cria uma nova janela e depois me pede um nome?

    
por js-coder 13.03.2013 / 20:17

4 respostas

36

Não há um nome de janela padrão global aplicado a todas as novas janelas; eles assumem como padrão (parte da) a primeira “palavra” do comando (ou o shell padrão, se não houver comando). Provavelmente, as janelas estão com o padrão reattach-to-user-namespace porque você é o primeiro bit interessante do valor default-command .

Seria um pouco rotineiro, mas você poderia colocar seu comando padrão em um shell script e apontar seu default-command para esse script. Com essa configuração, o nome da janela padrão (para janelas criadas sem um comando explícito) seria o nome que você tiver dado ao script de shell.

Caso contrário, existem várias maneiras de nomear / renomear manualmente uma janela:

  • No momento da criação com -n :

    new-window -n 'some name'
    

    Você pode vincular c (a chave padrão usada para criar uma janela) para incorporar um "nome padrão" de sua escolha:

    bind-key c new-window -n 'default name'
    
  • Renomeie uma janela existente:

    rename-window 'new name'
    

    Há também uma ligação padrão (Prefixo , ) que solicitará um novo nome e renomeará a janela.

  • Renomeie uma janela por meio de uma "sequência de escape" enviada para o tty de um painel:

    # E.g. in a shell:
    printf '3kWINDOW_NAME3\'
    

O seu "pedir-me um nome para uma nova janela" pode ser feito assim (solicitando antes ou depois de criar a janela):

bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'"

bind-key C new-window \; command-prompt -p "Name for this new window: " "rename-window '%%'"
    
por 14.03.2013 / 10:08
3

O tmux escolhe o primeiro comando como o nome da janela.

Digamos que você quer "i" para ser o título padrão, você pode enganar assim.

set-option -g default-command "i > /dev/null 2>&1; reattach-to-user-namespace -l bash"

Isso é melhor que

set-option -g default-command "tmux rename-window i; reattach-to-user-namespace -l bash"

porque se você criar um painel depois de definir manualmente o título de uma janela, o título será renomeado para "i" novamente.

    
por 17.11.2013 / 08:53
0

Além da resposta de Chris ao definir o título da janela usando new window -n 'somename' , você também pode fornecer uma string vazia '' como o nome de uma janela. Dessa forma, posso usar o atalho padrão (prefixo + c) e não preciso criar um nome para janelas temporárias, mas ainda posso renomeá-las quando necessário:

bind-key c new-window -n ''

    
por 18.09.2014 / 17:06
0

Não é realmente uma resposta mais do que um hack:

Eu criei um link simbólico com

sudo ln -s /usr/local/bin/reattach-to-user-namespace /usr/local/bin/pbash

E agora ele aparece como pbash como o título padrão.

    
por 16.12.2016 / 00:41

Tags