Hlavní navigace

WeeChat: pluginovatelný IRC klient

30. 3. 2007
Doba čtení: 4 minuty

Sdílet

Hledáte vhodný IRC klient, který bude lehký a zároveň bude disponovat dostatečnou funkcionalitou? S možností pluginů ve všech možných i nemožných programovacích jazycích? S nádherně transparentním ovládáním a přímo božskou konfigurovatelností? Už nehledejte, právě jste jej našli. Jmenuje se WeeChat.

Co umí?

WeeChat je lehký IRC klient psaný s podporou grafické knihovny ncurses. Nabízí široké pole pluginovatelnosti v několika skriptovacích jazycích, podporu bufferů a rozdělování oken jak horizontálně, tak vertikálně. Jednou z největších výhod je, že je dokonale konfigurovatelný – lze nastavit vše od klávesových zkratek přes proxy, pluginy, historii, logování nebo třeba aliasy na příkazy stejně, jako to umí Bash. Též vzhled včetně barev si můžete vyladit do nejmenších detailů.

První krůčky

Na začátek drobné upozornění: po nainstalování nehledejte příkaz weechat, ale weechat-curses. A když už mluvím o té instalaci, podotýkám, že WeeChat je zpravidla distribuován v několika balíčcích. Minimálně pluginy a skripty pro WeeChat bývají odděleny.

Předpokládám, že máte vše nainstalované a WeeChat spuštěný. V prvé řadě neškodí říci WeeChatu, na jaký server se vaše ctěná libost míní připojit. Děje se tak kouzelnou formulí /server <nick_serveru> <adresa_serveru> <port>. Nick serveru je libovolné slovo, které při další komunikaci s programem bude dotyčný server zastupovat, zbytek je patrně jasný. Po úspěšném zaregistrování serveru do konfigurace WeeChatu stačí dát /connect <nick_serveru> a pak už stačí jen /join <mistnost>. Předvedu názorně:

/server i irc.i.cz 6667
/connect i
/join archlinux.cz

Pokud budete v úzkých, neváhejte použít příkaz /help, který vypíše jednotlivé příkazy se stručným popisem toho, co dělají. Budete-li chtít vědět o některém příkazu více, použijte  /help <command>.

Kutáme pod povrchem

Buffery

Asi málokomu by stačilo mít možnost být přihlášen najednou pouze v jednom chatu. WeeChat tento problém obchází pomocí tzv. bufferů. Emacsistům, vimistům a podobným *istům není zajisté třeba nic vysvětlovat, ostatním prozradím, že buffer je jakýsi kontejner, ve kterém jsou umístěna nějaká data, s nimiž se dá následně manipulovat. Třeba když otevřete soubor, needitujete data přímo na disku, ale právě data v bufferu, které se až teprve uložením bufferu stávají souborem. Pokud vám stále není jasné, co tím chtěl básník říci, můžete si to provizorně představit jako taby ve Firefoxu či podobném prohlížeči.

Práci s buffery ve WeeChatu obstarává příkaz /buffer. Tak například /buffer 2 vás přepne do druhého bufferu. Že nevíte, do kterého bufferu se to vlastně chcete přepnout? /buffer list to jistí. To všechno je sice hezké, ale tedy mně by se věčně psát něco takového určitě nechtělo. Naštěstí nemusím, protože téhož lze docílit pomoci Alt + <cislo_bufferu>. A to již je dostatečně pohodlné ovládání, nemyslíte?

Nastavování na tisícero způsobů

No dobře, to jsem trochu přehnal – nastavování můžete provádět v zásadě dvěma způsoby – editací konfiguračního souboru nebo pomocí příkazů WeeChatu. Onu druhou možnost jsme si již předvedli, a sice u příkazu /server. Jak si můžete ověřit v souboru ~/.weechat/weechat.rc, vámi definovaný server se tam zapíše. Volby obecně lze provádět příkazem /set <volba> = <hodnota>. Můžete si třeba zkusit zvětšit historii pomocí /set history_max_lines = 10000. Zde jistě oceníte, že WeeChat obsahuje podporu knihovny readline, která vám umožní doplňování všech možných i nemožných příkazů a jejich parametrů. Co se týče přímé editace konfiguračního souboru, musím upozornit na jednu vlastnost WeeChatu – do svého konfiguračního souboru v průběhu svého běhu zapisuje, a tedy dávejte si pozor, abyste jej neupravovali, když WeeChat běží.

WeeChat

Ještě bych rád zmínil, jak se nastavují věci specifické určitým serverům. Chcete-li na jednom serveru vystupovat pod přezdívkou „Baryk” a na jiném zas pod přezdívkou „Žeryk”, opět použijete zmiňovanou volbu /set, tentokrát však volbě předřadíme nick serveru následovaný tečkou:

/set i.server_nick1 = Baryk
/set freenode.server_nick1 = Žeryk

Určitě nezapomeňte, chcete-li se na server připojovat automaticky, po startu WeeChatu použít  /set i.server_autoconnect = on.

CS24_early

Pluginy

Není třeba doktorát na to, aby člověk poznal, že složky lua, perl, python a ruby v hlavní konfigurační složce WeeChatu slouží právě na ukládání pluginů pro jednotlivé programovací jazyky. V každé z těchto složek je pak ještě podsložka autoload sloužící pochopitelně k ukládání pluginů, které se mají načíst automaticky po startu programu. Chcete-li psát pluginy pro WeeChat, doporučuji se podívat na ukázky z domovské stránky.

Závěr

WeeChat mě osobně velmi zaujal a velmi záhy po jeho objevení jsem si na něj zvykl tak, že dnes již na IRC s ničím jiným nechodím. A rozhodně si nestěžuji.

Odkazy

Máte rádi aplikace v curses?

Byl pro vás článek přínosný?

Autor článku

Jakub Šťastný byl v letech 2007 až 2008 redaktorem serveru Root.cz. Mezi jeho zájmy patří Linux, programování a typografický systém TeX.