Como conseguir que a lista de apelidos no irssi apareça toda vez?

6

Sou um usuário ávido do tmux e do irssi. Eu tenho tentado usar o nicklist.pl com o irssi no tmux com apenas metade do sucesso. Atualmente estou seguindo as instruções aqui: Executando nicklist com irssi usando a tela dentro tmux?

No entanto, não funciona o tempo todo. Se eu configurá-lo e, em seguida, salvar minha configuração irssi, o script (que está na pasta autorun) não cria o painel tmux e configura o nicklist toda vez que eu abro o irssi no tmux. O que posso fazer para que funcione sempre?

    
por Rivasa 15.06.2013 / 04:12

1 resposta

7

A solução que você liga nunca diz que funciona "automaticamente". Você precisa dividir a janela do tmux manualmente todas as vezes. O irssi por si só não tem como controlar o layout do tmux (embora possa ser roteirizado - veja a observação final).

Se você quiser iniciar automaticamente o nicklist FIFO (que significa "iniciar a saída da lista de apelidos" - não incluindo a divisão da janela tmux e a leitura do FIFO), adicione nicklist fifo como um comando de inicialização, por exemplo via

echo "nicklist fifo" >> ~/.irssi/startup

Se você de dentro da sessão do tmux executar o comando tmux:

:split-window -h -l 20 'cat ~/.irssi/nicklistfifo'

você abrirá uma nova janela dividida no lado direito, com 20 caracteres de largura, e começará a ler a lista de apelidos nela.

Você pode escrever um script de inicialização simples para o tmux que automatiza a última etapa (inicia o irssi e divide a janela para ler o FIFO). Aqui está um pequeno exemplo:

#!/bin/sh
WNAME="irssi"
if ! tmux -L default attach-session -t ${WNAME}; then
    tmux new-session -d -s ${WNAME} 'irssi'
    tmux split-window -t ${WNAME} -h -l 20 'cat ~/.irssi/nicklistfifo'
    "${0}"
fi

(Talvez haja uma condição de corrida em nicklist.pl não criando o FIFO a tempo para o segundo painel lê-lo; nesse caso, tente adicionar um sleep 1 ou algo assim antes de cat .)

Como bônus, esse script será anexado a uma sessão disponível, se existir, em vez de tentar iniciar uma duplicata.

Todas as ações do tmux estão disponíveis como argumentos de linha de comando semelhantes ao binário do tmux.

Digamos que você configure os painéis em um determinado tamanho de terminal. Se você anexar a esta sessão a partir de um terminal com tamanho diferente, o tmux redimensionará os painéis, o que será problemático já que

  1. nicklist precisa saber a largura da janela de apresentação para lidar com a quebra de linha e a rolagem corretamente
  2. o painel nicklist geralmente fica pequeno demais para ser usado se você quiser lidar com terminais de tela inteira, 25x80 e outros tamanhos.

Se isso for algo que você fará com frequência, consulte a seção "Atualização automática do tamanho do painel tmux para nicklist.pl" em Instalar e configure o BitlBee para um plugin irssi que mantenha o tamanho do painel tmux constante.

    
por 15.06.2013 / 11:48