Tuesday, March 6, 2007

Przygoda z IRC-em

Do tej pory zachwycony byłem kombajnem jakim okazało się ekg2. Gadu-Gadu, Jabber i IRC w jednym - dla mnie fenomen. Jednak na kanale #kateos-pl (chat.freenode.net) obowiązywało kodowanie UTF-8. Nie znalazłem nigdzie łatwej możliwości zmiany kodowania w ekg2, chyba będzie trzeba zajrzeć w źródła. Najpierw używałem przez chwilkę irssi. Podam może fragmenty mojego ~/.irssi/config:
# [początek]
servers = (
{
   address = "warszawa.ircnet.pl";
   chatnet = "IRCnet";
   port = "6667";
   use_ssl = "no";
   ssl_verify = "no";
   family = "inet";
   autoconnect = "no";
},
{
   address = "chat.freenode.net";
   chatnet = "Freenode";
   port = "6667";
   use_ssl = "no";
   ssl_verify = "no";
   family = "inet";
   autoconnect = "yes";
}
);

chatnets = {
IRCnet = {
   type = "IRC";
   max_kicks = "4";
   max_msgs = "5";
   max_whois = "4";
   max_query_chans = "5";
   autosendcmd = "/msg NickServ IDENT twoje_haselko;";
};
Freenode = {
   type = "IRC";
   max_kicks = "4";
   max_msgs = "5";
   max_whois = "4";
   max_query_chans = "5";
   autosendcmd = "/msg NickServ IDENTIFY kolejne_haselko";
};
SILC = { type = "SILC"; };
};

channels = (
{ name = "#kateos-pl"; chatnet = "Freenode"; autojoin = "Yes"; },
);

# [długo ... długo ... nic ... ciekawego]
settings = {
core = {
   real_name = "Jasiu";
   user_name = "dziudziub";
   nick = "dziubdziub";
};
};
# [koniec]

Dodam jeszcze tylko, że jak w haśle występował znak dolara to tutaj w pliku konfiguracyjnym, przynajmniej przy /msg NickServ IDENTIFY kolejne_haselko trzeba było w miejscu $ podać $$ i dopiero wtedy program czytał to jak $.
Drażnił mnie jednak strasznie brak listy osób na kanale, do którego byłem przyzwyczajony w ekg2. Na stronie http://www.irssi.org/scripts/ znalazłem skrypt nicklist.pl, który wgrałem do ~/.irssi/scripts/ . Chciałem jeszcze, żeby sam się uruchamiał więc utworzyłem katalog ~/.irssi/scripts/autorun i tam dorzuciłem dowiązanie symboliczne do nicklist.pl:
cd ~/.irssi/scripts/autorun/
ln -s ~/.irssi/scripts/nicklist.pl ./nicklist.pl
Jednak aby rozwiązanie działało trzeba było uruchomić sesję screen-a. Czyli uruchamiać irssi dokładnie tak:
screen
irssi
i nie wyglądało to wcale estetycznie. Wtedy kolega doradził mi weechat-a [ http://weechat.flashtux.org/ ]. Znalazłem go w community-unstable. Odkomentowałe w pliku /etc/updateservers linijkę:
http://mirror.umr.edu/pub/linux/kateos/packages/dist3-community-unstable/
a potem tylko updateos -i weechat i już po chwili miałem weechat-a. Pierwsza rzecz, która mnie wściekła to to, że program odpala się przez wydanie polecenia: weechat-curses, a dodatkowo u mnie w terminalu urxvt najlepiej działa ze zmienną TERM=xterm. Dlatego zaraz wyedytowałem linjkę z mojego .zshrc (u większość i pewnie będzie .bashrc) i dopisałem do niekończącej się listy aliasów:
alias weechat='env TERM=xterm weechat-curses'
Jeszcze tylko . .zshrc aby zmiana weszła w życie. W pliku konfiguracyjnym [~/.weechat/weechat.rc] podam tylko pewne fragmenty, które uległy zmianom:

[look]
# [...] <- takie coś oznacza, że tu coś jest ale nie ważne jest w tej chwili co
look_charset_decode_iso = "ISO-8859-2"
look_charset_decode_utf = "UTF-8"
look_charset_encode = "UTF-8"
# [...]

[keys]
# [...]
ctrl-L = "/clear" # Przyzwyczajenie z konsoli
# [...]

[server]
server_name = "freenode"
server_autoconnect = on
server_autoreconnect = on
server_autoreconnect_delay = 30
server_address = "chat.freenode.net"
server_port = 6667
server_ipv6 = off
server_ssl = off
server_password = "twoje_haselko"
server_nick1 = "dziubdziub~"
server_nick2 = "dziubbuizd"
server_nick3 = "dziubdziub777"
server_username = "dziubdziub"
server_realname = "Jasiu"
server_hostname = ""
server_command = "/msg nickserv IDENTIFY twoje_haslo"
server_command_delay = 0
server_autojoin = "#kateos-pl"
server_autorejoin = on
server_notify_levels = ""
server_charset_decode_iso = "ISO-8859-2"
server_charset_decode_utf = "UTF-8"
server_charset_encode = "UTF-8"
# [koniec]
Od tamtej pory wszystko już sobie działało ;)

No comments: