Irssi, le client irc des loutres au poil luisant

vlldl (va lire la doc, lutin)

Hop hop, ici des tipaizes en vrac pour bien utiliser irssi, le client irc du bien.

Mais si tu veux tout savoir le pourquoi du comment, c'est ci-dessous.

Explique-moi, tonton

Pourquoi c'est pas tout comme indiqué dans les docs ci-dessus pour les uns, alors que ça marche ™ pour les autres ?

Bah parce que ça dépend de ta version d'irssi, d'abord, et aussi parce qu'il y a (au moins) deux scripts recode différents dans la nature. Si. Je viens de faire cette incroyable découverte. Tout seul dans mon laboratoire. Et le téléphone ne sonne toujours pas pour m'annoncer mon prix Nobel de googlage-aux-heures-de-bureau. Le monde est une jungle.

On suppose dans la suite que tu es dans un term ou screen en utf8, mais tu veux accéder aux saintes conversations de #gcu. Tu as raison. Mais tu crains la sainte colère de Don I. si ton charset est tout vilain.

Avant tout, aventureux lutin, tu :

$ irssi -v

Et là, suivant la réponse, tu choisis la suite (“le tippaize dont vous êtes le héros”).

irssi 0.8.10 ou supérieur

Note : tout ce qui suit ne fonctionne que si l'option recode a été choisie à la compilation d'irssi. C'est le cas des paquets tout faits en général.

La fonction recode est intégrée dans irssi, pas besoin de scripts supplémentaires.

Tu vas faire joujou (/set blah truc) avec les settings suivants :

  • term_charset, que tu fixes à utf-8, vu que bon, c'est ça
  • recode ON, sinon ça pamarche, hein
  • recode_autodetect_utf8 comme tu veux (demande à irssi de ne pas toucher aux messages en utf8 si pas nécessaire)
  • recode_out_default_charset, ben là c'est comme tu veux, tu colles tout en iso et tu choisis utf8 au coup par coup, ou l'inverse
  • recode_fallback utf-8, normalement c'est ce que tu veux : irssi recodera tous les messages vers ton term avec le charset qu'il comprend, ça parait pas idiot

Ensuite arrive la magie. Dans ton irssi, tu :

/recode add #gcu iso-8859-1
/recode add gaston utf-8

Et voilà. Tu causes en iso aux petits gars de #gcu, sauf à gaston qui préfère l'utf8, c'est bien connu. (note de gaston: le premier qui me cause en sale-utf-8, je le bouffe au petit dèj et je donne ses restes en pature a pinpin)

Pour en savoir plus, tu /help recode. Va en paix.

irssi 0.8.9 ou inférieur

Y'a pas recode dans irssi. Mais sèche tes larmes, les scripts sont faits pour les chiens, et les lutins. Il y a un tout beau script recode qui va te permettre de jouer avec tes petits camarades au lieu de leverager ton outsourcing, comme dirait notre père vénéré Don I., que son nom soit proclamé dans le grand ternet (si après ça je ne suis pas augmenté, y'aura plus qu'une solution, me raser les jambes).

Le bronx, c'est que sur le grand ternet, justement, se balladent en toute liberté deux versions différentes du script recode en question. Youpi.

Le plus répandu, c'est celui-là : http://irssi.org/scripts/scripts/recode.pl

Je n'ai pas trop joué avec, mais il semble rustique : pas de variables de configuration.

Le second, généralement appelé recode-ion du nom de son auteur, est référencé dans un certain nombre de docs, comme celle qui est citée ci-dessus au chapitre “origines” que tu as lu bien sûr. Ce qui est rigolo, c'est qu'on dirait que son auteur, qui le considère à juste titre comme deprecated vu que t'as qu'à upgrader ton irssi, feignasse, son auteur disais-je l'a semble-t-il fait disparaître des endroits où il l'avait déposé. J'ai passé l'après-midi à suivre des liens touts morts et j'ai du 404 plein les yeux.

Mais bon, le grand ternet est grand : http://www.edu.lahti.fi/~jminkowi/skripti/recode-ion-obsolete-and-deprecated.txt

Tu vas chercher ça, tu le renommes recode-ion.pl, tu le lâches bêtement dans ~/.irssi/scripts voire dans ~/.irssi/scripts/autorun si tu es joueur, et voilà. Évidemment, il ne marche pas tout à fait comme son successeur intégré, ce serait pas drôle. Allons-y :

  • term_type remplace term-charset dans les versions d'irssi antérieures à 0.8.10
  • recode_terminal_charset indique comment recoder ce qui vient vers toi, donc utf8 selon nos hypothèses
  • recode_default_charset ou comment encoder ce qui va vers le réseau par défaut

Ensuite, la commande magique est :

/recode set #gcu iso-8859-1

Je ne sais pas si ça marche pour les nicks à la place des chans. De toute manière qu'est-ce que tu fabriques encore avec un irssi d'avant-guerre, hein ?

encoooooore !

Thx to |nico|, comment dire a irssi de ne pas considérer les join/part/quits/nickchange/modes comme des actions, et pas faire hilighter les fenetres dans la statusbar:

/set activity_hide_level parts joins quits nicks modes

Un petit hack pour faire apparaitre les /whois dans la fenetre courante :

#a mettre dans ~/.irssi/scripts/hack-whois-in-current-window.pl
Irssi::signal_add_first("event 311", sub { level("-") } );
Irssi::signal_add_last("event 318", sub { level("+") } );
Irssi::signal_add_last("event 369", sub { level("+") } );

sub level {
   Irssi::window_find_name("(status)")->command("^window level $_[0]crap");
}

Source : ici

La meme chose pour les /who et /whois quand le retour est un WHOWAS :

Irssi::signal_add_first("event 314", sub { level("-") } );
Irssi::signal_add_first("event 352", sub { level("-") } );
Irssi::signal_add_last("event 315", sub { level("+") } );

Loutre++

Toi aussi tu te connectes un peu partout, et puis quand tu aimes tu te poses et tu restes, mais voila quand tu relances ton irssi, tu perds tous tes channels et tu ne sais plus où tu loutrais. Grâce à cet alias tu ne seras jamais plus perdu.

 /alias ADDALLCHANNEL script exec foreach my \$channel (Irssi::channels()) { Irssi::command(\"channel add -auto \$channel->{name} \$channel->{server}->{tag} \$channel->{key}\")\;};layout save

Ce tips vient d'ici

Creuse encore !

Tu as réservé ton nick, c'est bien ! mais la perspective d'envoyer ton mot de passe en clair depuis des endroits pas toujours propres ne te fait que très moyennement frétiller de plaisir, et c'est bien normal. Tu pourrais projeter ton corps astral dans ta maison bien propre grâce aux pouvoirs du poisson qui pique et y loutrer bien au chaud, mais tu as peur de bousculer les bibelots que tu as mis si longtemps à arranger. Alors prend ta pioche et creuse ton tunnel tout comme dermiste te le montre.

D'abord, il te faut un tunnel ssh standard, creusé par un lutin standard, avec une pioche standard :

ssh -D 1080 bibelot.maison.net

Ensuite, construis un joli bureau de poste pour que tes lutins amateurs puissent passer le relais a des lutins professionnels :

cat > $LUTINPOSTE << EOF
#!/bin/sh
read host port
nc -X 5 -x localhost:1080 $host $port
EOF
chmod a+x $LUTINPOSTE

Et n'oublie pas d'annoncer son ouverture !

echo "127.0.0.1:ircd stream tcp nowait $LUTIN $LUTINPOSTE $LUTINPOSTE" >> /etc/inetd.conf
kill -HUP $INETD_PID

Attention, ircd doit etre présent dans /etc/services !!

Enfin, il ne te reste plus qu'a planter les panneaux indicateur vers ton joli bureau :

/set proxy_address localhost
/set proxy_port 6667
/eval set proxy_string %s %d\n
/set proxy on

Et voila, tes lutins vont maintenant bien sagement livrer leurs colis en passant par ton tunnel blindé !

codaz/irssi/irssi.txt · Last modified: 2011/01/25 08:54 by gast0n