1. Ogólne

1.1. Dlaczego wybrać WeeChat? X-Chat i Irssi są takie dobre…

Ponieważ WeeChat jest lekki i posiada wiele nowych możliwości. Niektóre cechy (wersja > = 0.3.x):

  • wsparcie dla wielu protokołów dzięki wtyczką (IRC, Jabber)

  • wiele zdalnych GUI w dodatku do Courses (już niedługo)

  • wsparcie dla 256 kolorów

  • dostępny w wielu językach

  • rozszerzalny dzięki wtyczką (C, Perl, Python, Ruby, Lua, Tcl)

  • bufory z wolną zawartością

  • filtrowanie po tagach i wyrażeniach regularnych

  • poziome i pionowe dzielenie okien

  • paski które możemy tworzyć i dostosowywać do własnych potrzeb

  • lista nicków dostępna w każdym GUI

  • proxy IRC

  • przekierowanie części komęd IRC

  • przyrostowe wyszukiwanie tekstu w buforach, przeskakiwanie do podświetleń

  • strumień FIFO do zdalnej kontroli

  • wsparcie dla aspell

  • podwójny zestaw znaków (kodowanie/dekodowanie)

  • tworzony od podstaw (nie bazuje na żadnym innym kliencie)

  • wielo platformowy

  • 100% GPL i wolny

Więcej informacji na stronie: http://www.weechat.org/features

2. Kompilacja / instalacja

2.1. Słyszałem o wielu GUI dla WeeChat. Jak moge je skompilować/użyć?

Obecnie dostępne jest tylko GUI Courses.

Pozostałe będą dostępne jako zdalne klienty (obecnie rozwijane).

2.2. Nie mogę skompilować WeeChat po sklonowaniu repozytorium git, dlaczego?

Zalecaną metodą kompilacji WeeChat jest użycie cmake.

Jeśli kompilujesz używając autotools (nie cmake), upewnij się, że posiadasz najnowszą wersję autoconf i automake (WeeChat jest rozwijany z użyciem autoconf 2.61 oraz automake 1.10.1).

Innym sposobem jest zainstalowanie "paczki deweloperskiej", która wymaga mniej zależności. Ten pakiet jest budowany prawie codziennie z użyciem repozytorium git. Ten pakiet może odpowiadać dokładnie wersji z gita i jest mniej wygodny przy aktualizowaniu jak klonowanie z gita.

2.3. Uruchomiłem WeeChat, ale czuję się zagubiony, co robić?

Dla pomocy wpisz /help. Aby uzyskać pomoc dla komendy wpisz /help komenda. Klawisze i komendy są wypisane w dokumentacji.

Nowym użytkowniką zaleca się przeczytanie quickstart (szybki start) (zobacz stronę z dokumentacją na stronie www).

3. Wyświetlanie

3.1. Nie widzę niektórych znaków diakrytycznych, co mogę zrobić?

Jest to częsty problem, przeczytaj i sprawdź WSZYSTKIE poniższe rozwiązania.

Dla wersji < 0.2.3, zaleca się uaktualnienie do najnowszej stabilnej wersji.

Dla wersji > = 0.2.3:

  • sprawdź czy weechat-curses jest zlinkowany z libncursesw (uwaga: wymagane na więkrzości dystrybucji ale nie wszystkich): ldd /ścieżka/do/weechat-curses

  • sprawdź czy wtyczka "Charset" jest załadowana za pomocą komendy /plugin (jeśli nie jest, to najprawdopodbniej potrzebujesz pakietu "weechat-plugins")

  • sprawdź ustawienia kodowania (w buforze serwera). Powinieneś ujrzeć ISO-XXXXXX lub UTF-8 dla kodowania terminala. Jeśli zobaczysz ANSI_X3.4-1968 lub inna wartość to twoje locale są prawdopodobnie złe.

  • ustaw globalną wartość dekodowania, na przykład:

    • w WeeChat < = 0.2.6: /setp charset.global.decode = ISO-8859-2

    • w WeeChat > = 0.3.x: /set charset.default.decode "ISO-8859-2"

  • jeśli kożystasz z UTF-8:

    • sprawdź czy twój terminal jest przystosowany dla UTF-8 (zalecanym terminalem dla UTF-8 jest rxvt-unicode)

    • jeśli kożystasz ze screena, sprawdź czy jest uruchomiony z trybem UTF-8 ("defutf8 on" w ~/.screenrc lub screen -U uruchamiając screena)

Note
UTF-8 jest zalecany dla WeeChat. Jeśli kożystasz z locali ISO lub innych, sprawdź czy wszystkie twoje ustawienia (terminal, screen, ..) są ISO, a nie UTF-8.

3.2. Paski jak tytuł i status nie są filtrowane, kolor tła zatrzymuje się po tekście, czemu?

Może to być spowodowane złą wartośćią zmiennej środowiskowej TERM (spójrz na wynik echo $TERM w terminalu).

W zależności, gdzie uruchamiasz WeeChat, powinieneś uzyskać:

  • jeśli WeeChat jest uruchomiony lokalnie lub na zdalnej maszynie bez screena, zależy od używanego terminala: xterm, rxvt, ..

  • jeśli WeeChat działa pod screenem, powinieneś mieć screen.

W razie potrzeby, popraw zmienna TERM: export TERM="xxx".

3.3. Kiedy używam weechat pod screenem, dostaje dziwne losowe znaki, jak to naprawić?

Może to być spowodowane przez złą wartość zmiennej środowiskowej TERM (spójrz na wynik echo $TERM w terminalu).

Na przykład, xterm-color może wyświetlać takie dziwne znaki, możesz użyc xterm, który działa dobrze (jak wiele innych wartości).

W razie potrzeby, popraw zmienna TERM: export TERM="xxx".

3.4. Skompilowałem WeeChat pod OS X i wszędzie na ekranie widzę "(null)", co jest nie tak?

Jeśli samodzielnie skopilowałeś ncursesw, spróbuj użyć domyślnej wersji (dostarcznej z systemem).

Ponadto, pod OS X, zaleca się instalowanie WeeChat za pomocą menagera pakietów Homebrew.

3.5. Słyszałem o "buforach" i "oknach", jaka jest między nimi różnica?

bufor jest określany przez numer, nazwę, wyświetlane linie (i trochę innych danych).

okno jest to obszar ekranu wyświetlający bufor. Możliwe jest podzielenie ekranu na wiele okien.

Każde okno wyświetla jeden bufor. Bufor może być ukryty (nie wyświetlany przez okno) lub wyświetlany w jednym lub więcej oknach.

3.6. Jak mogę kopiować/wklejać tekst bez wklejania listy nicków?

Możesz użyć terminala z prostokątnym zaznaczaniem (jak rxvt-unicode, konsole, gnome-terminal, …). Klawisze to zazwyczaj ctrl + alt + zaznaczenie myszką.

Innym rozwiązaniem jest przesunięcie listy nicków na górę lub dół, na przykład:

  • dla WeeChat < = 0.2.6:
    set look_nicklist_position = top

  • dla WeeChat > = 0.3.x:
    /bar set nicklist position top

3.7. Jak mogę kliknąć na długi URL (dłuższy niż linia)?

WeeChat wuświetla czas i przedrostek dla każdej lini, oraz opcjonalne paski do okoła przestrzeni rozmów, dlatego nie jest możliwe wyświetlanie długich URLi bez skrócenia ich.

Możesz użyć jednego z poniższych skryptów:

urlbar.py

wyświetla adresy URL na pasku

urlgrab.py

zapisuje zapisuje URL i otwiera je w przeglądarce

url_shorten.rb
tinyurl.py
shortenurl.py

skraca długie adresy URL

Lista skryptów do obsługi adresów URL: http://www.weechat.org/scripts/stable/tag/url

3.8. Chcę zmienić język komunikatów wyświetlanych przez WeeChat, ale bez jego zamykania, czy jest to możliwe?

Tak, musisz użyć pythonowego skryptu shell.py (dostępny na stronie programu), oraz użyć tych komend po załadowaniu skryptu:

/shell setenv LANG=pl_PL.UTF-8
/upgrade

Aby otrzymać polskie komunikaty dla kodowania UTF-8 w terminalu, osóby używające ISO, moga wykonać: /shell setenv LANG=pl_PL.

3.9. Jak mogę użyć 256 kolorów w WeeChat?

Wsparcie dla 256 kolorów jest dostępne dla wersji WeeChat 0.3.4 i nowszych.

Najpierw należy sprawdzić czy wartość zmiennej środowiskowej TERM jest poprawna,\ zalecane wartości to:

  • w screenie: screen-256color

  • poza screenem: xterm-256color, rxvt-256color, putty-256color,…

Jeśli używasz screena, możesz dodać to do swojego ~/.screenrc:

term screen-256color

Jeśli wartość zmiennej TERM jest niepoprawna, oraz WeeChat został już uruchomiony nie należy panikować! Można to zmienić bez konieczności restartu, za pomocą skryptu shell.py:

/shell setenv TERM=screen-256color
/upgrade

Możesz użyć komendy /color do łatwego dostosowania kolowów w WeeChat.

Więcej informacji na temat zarządzania kolorami można uzyskać w poradniku użytkownika.

4. Przypisania klawiszy

4.1. Niektóre skróty klawiszowe (alt + klawisz) nie działają, dlaczego?

Jeśli używasz terminali jak xterm lub uxterm, niektóre skróty domyślnie nie będą działać. Możesz dodać następujące linie do pliku ~/.Xresources:

  • dla xterm:

XTerm*metaSendsEscape: true
  • dla uxterm:

UXTerm*metaSendsEscape: true

Następnie przeładować zasoby (xrdb -override ~/.Xresources) lub zrestartować X.

4.2. Jak mogę zmienić przypisania klawiszy?

Przypisania klawiszy mozna dostosować za pomocą komendy /key.

Domyślnie Meta-k (zazwyczaj Alt-k) pozwala pobrać kod klawiszy i umieścić go w wierszu poleceń.

4.3. Jakim skrótem można przejść do buforu 11 (lub o więszym numerze)?

Skrót to alt-j i dwie cyfry, na przykład alt-j później 1, 1 przejdzie do buforu 11.

Można również samemu stworzyć skrót, na przykład:

/key bind meta-q /buffer *11

Lista domyślnych skrótów znajduje się w poradniku użytkownika.

5. IRC

5.1. Jaka jest różnica między komendami/ignore i /filter ?

Komenda /ignore jest komendą IRC, zatem odnosi się tylko do buforów IRC (serwery i kanały). Pozwala ignorować niektóre nicki lub hosty użytkowników serwera lub kanału (komendy nie stotuje się do treści wiadomości). Pasujące wiadomości są usuwane przez wtyczkę IRC przed wyświetleniem (nigdy ich nie zobaczysz).

Komenda /filter jest komenda rdzenia, zatem odnosi się do dowolnego bufora. Pozwala filtrować niektóre linie w buforach za pomocą tagów lub wyrażeń regularnych dla przedrostków i zawartości lini. Filtrowane linie są tylko ukrywane, nie usuwane, można je zobaczyć wyłączając filtry (domyślnie alt + "=" zmienia stan filtrów).

5.2. Jak moge filtrować wiadomości o wejściu/opuszczeniu/wyjściu na kanałach IRC?

W zależności od wersji WeeChat:

  • dla WeeChat < = 0.2.6:
    /ignore * join #weechat freenode
    /ignore * part #weechat freenode
    /ignore * quit #weechat freenode
    (kanał i/lib serwer mogą być "*", /help ignore dla pomocy)

  • dla WeeChat > = 0.3.x:

    • inteligentny filtr (pokazuje te informacje tylko od osób ostatnio aktywnych):
      /set irc.look.smart_filter on
      /filter add irc_smart * irc_smart_filter *
      (/help irc.look.smart_filter oraz /help filter dla pomocy)

    • globalny filtr (ukrywa wszystkie wejścia/opuszczenia/wyjścia):
      /filter add jpk * irc_join,irc_part,irc_quit *
      (/help filter dla pomocy)

5.3. Jak mogę filtrować wyświetlane wiadomości podczas wejścia na kanał IRC?

Tagi, które można użyć do filtrowania wiadomości:

  • irc_366: osoby na kanale

  • irc_332,irc_333: temat/data kanału

  • irc_329: data utworzenia kanału

Tagi innych wiadomości można znaleźć analizując nieprzetworzone dane IRC (/server raw).

Przykłady:

  • filtrowanie użytkowników:

/filter add irc_join_names * irc_366 *
  • filtrowanie tematu (i daty):

/filter add irc_join_topic_date * irc_332,irc_333 *

5.4. Jak moge filtrować informacje o przyznaniu voice (np na serwerze Bitlbee)?

Filtrowanie wiadomości o przyznaiu voice nie jest proste, ponieważ może on zostać nadany wraz z innymi atrybutami w jednej wiadomości IRC.

Zapewne chcesz to zrobić, ponieważ Bitlbee używa voice do wskazania nieobecnych użytkowników, oraz jesteś zasypywany takimi wiadomościami. Możesz to zmienić oraz pozwolić WeeChat używać specjalnego koloru dla nieobecnych nicków.

Na kanale &bitlbee, wykonaj:

set away_devoice false

Aby dowiedzieć się jak sprawdzić nieobecność w WeeChat, spójrz na pytanie o nieobecnych osobach.

5.5. Jak mogę zobaczyć kto jest aktualnie nieobecny ?

Należy ustawić opcję irc.server_default.away_check na wartość większą od zera (minuty pomiędzy sprawdzaniem czy nick jest nieobecny).

Możesz ustawić opcję irc.server_default.away_check_max_nicks w celu ustalenia sprawdzania nieobecności dla małych kanałów.

Na przykład, aby sprawdzać nieonecność nicków co 5, dla kanałów z maksymalnie 25 osobami:

/set irc.server_default.away_check 5
/set irc.server_default.away_check_max_nicks 25
Note
Dla WeeChat < = 0.3.3, opcje te to irc.network.away_check oraz irc.network.away_check_max_nicks.

5.6. Jak mogę zostać powiadomiony, jeśli ktoś będzię chciał przyciągnąć moją uwagę na kanale?

W zależnośći od wersji WeeChat:

  • dla WeeChat < = 0.2.6: użyj skryptu sound.pl (dostępny na stronie ze skryptami), następnie ustawienie komendy systemowej (do odtworzenia dźwięku, wyświetlenia wiadomości, ..) za pomocą komendy:
    /setp perl.sound.cmd_highlight = "/ścieżka/do/komendy argumenty"

  • dla WeeChat > = 0.3.x: użyj skryptu launcher.pl (dostępny na stronie ze skryptami), następnie ustawienie komendy systemowej (do odtworzenia dźwięku, wyświetlenia wiadomości, ..) za pomocą komendy:
    /set plugins.var.perl.launcher.signal.weechat_highlight "/ścieżka/do/komendy argumenty"

Istnieje wiele innych skryptów do powiadomień, zajrzyj na stronę wtyczek/skryptów: http://www.weechat.org/scripts

5.7. Mam problemy podczas połączenia z serwerem używającym SSL, co mogę zrobić?

Jeśli widzisz błędy gnutls, możesz użyć innej wielkości klucza Diffie-Hellman (domyślnie 2048):

/set irc.server.freenode.ssl_dhkey_size 1024

Jeśli widzisz błędy związanie z certyfikatami, możesz wyłączyć opjcę "ssl_verify" (należy jednak uważać, ponieważ połączenie będzie mniej bezpieczne):

/set irc.server.freenode.ssl_verify off

6. Pluginów / skrypty

6.1. Używam OpenBSD, WeeChat nie ładuje żadnych pluginów, co jest nie tak?

Pod OpenBSD, nazwy wtyczek kończą się ".so.0.0" (".so" dla Linuksa).

Musisz ustawić:

  • dla WeeChat < = 0.2.6:
    /set plugins_extension = ".so.0.0"

  • dla WeeChat > = 0.3.x:
    /set weechat.plugin.extension ".so.0.0"

Następnie: /plugin autoload.

6.2. Jak załadować skrypty Perl/Python/Ruby/Lua/Tcl? Czy skrypty są kompatybilne z innymi klientami IRC?

Możesz użyć komend /perl, /python, /ruby, /lua oraz /tcl, aby załadować skrypt (domyślna lokalizacja skryptów to ~/.weechat/<język>/).

Skrypty nie są kompatybilne z innymi klientami IRC.

Uwagi:

  • skrypty w ~/.weechat/<język>/autoload/ są automatycznie ładowane przy uruchomieniu WeeChat.

  • wtyczka tcl jest dostępna dla wersji > = 0.3.0.

7. Ustawienia

7.1. Jak mogę zmusić WeeChat do zużywania mniejszej ilości pamięci?

W celu zmniejszenia używanej pamięci możesz zastosować się do poniższych rad:

  • używać najnowsze stabilnej wersji (powinna mieć mniej wycieków pamięci niż starsze wersje)

  • nie ładować nieużywanych pluginów, np: aspell, fifo, logger, perl, python, ruby, lua, tcl, xfer (używana do DCC)

  • ładować tylko naprawde używane skrypty

  • zmniejszyć wartość opcji weechat.history.max_lines (ilość lini trzymanych w pamięci dla każdego bufora)

  • zmniejszyć wartość opcji weechat.history.max_commands (ilość komend użytkownika trzymanych w pamięci)

8. Rozwój

8.1. Jak zgłaszać błędy, prosić o nowe możliwości lub wysyłać patche?

Są 3 możliwości:

  1. możesz dołączyć do nas na IRC: irc.freenode.net, kanał #weechat

  2. możesz użyć strony www savannah:

  3. możesz napisać do deweloperów, na stronie wsparcia możesz znaleźć ich maile: http://www.weechat.org/about (możesz się zapisać na listę mailingową "support" i na niej pisać)

8.2. Kiedy uruchaiam WeeChat pod gdb dostaję komunikat o wątkach, co mogę z tym zrobić?

Podczas uruchamiania WeeChat pod gdb, można spotkać się z takim błędem:

gdb /scieżka/do/weechat-curses
(gdb) run
[Thread debugging using libthread_db enabled]
Cannot find new threads: generic error

Żeby to naprawić, można użyć takiej komendy(należy zmienić scieżki do libpthread oraz WeeChat na właściwe dla naszego systemu):

LD_PRELOAD=/lib/libpthread.so.0 gdb /ścieżka/do/weechat-curses
(gdb) run

8.3. Jaka jest lista platform wspieranych przez WeeChat? Czy będzie przeportowany na inne systemy operacyjne?

Pełną listę można znaleźć na stronie: http://www.weechat.org/download

Robimy co w naszej mocy, aby WeeChat działał na tylu platformach ile to tylko możliwe. Mile widziana jest pomoc w testowaniu dla systemów, których nie mamy.

8.4. Chcę pomóc programistą WeeChat. Co mogę zrobić?

Jest wiele zadań do zrobienia (testowanie, kod, dokumentacja, …)

Skontaktuj się z nami na IRC lub mailowo, szczegóły: http://www.weechat.org/about

Tak możesz dać nam pieniądze, aby wspomóc rozwój. Szczegóły na http://www.weechat.org/donate