Questão Como conseguir que a lista de nick no irssi apareça toda vez?


Sou um usuário ávido de tmux e 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: Correndo nicklist com irssi usando tela dentro do 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?


6


origem


Você pode querer experimentar o weechat, eu acho que é como irssi mas com mais recursos e configurações mais saudáveis. E diretamente relevante para sua pergunta, você não precisa jogar com multiplexação de terminal para ter uma lista de apelidos. - demure


Respostas:


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 nicklist FIFO (que significa "iniciar a saída da lista de apelidos" - não incluindo dividindo a janela do tmux e lendo o FIFO), adicione nicklist fifo como um comando de inicialização, por exemplo através da

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 criar o FIFO a tempo para o segundo painel para lê-lo; Nesse caso, tente adicionar um sleep 1 ou algo assim antes 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 tmux estão disponíveis como argumentos de linha de comando semelhantes ao binário 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

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

Se isso for algo que você fará com frequência, consulte a seção "Atualizar o tamanho do painel do tmux de atualização para nicklist.pl" em Instalar e configurar o BitlBee para um plugin irssi que mantém o tamanho do painel tmux constante.


7



Eu achei realmente útil usar o script de autoresize de nicklist de 510x.se/notes/posts/Install_and_setup_BitlBee (procurar por tmux pane) - John Oxley