= WeeChat FAQ (Często zadawane pytania)
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: pl
:toc: left
:toc-title: Spis treści
:toclevels: 2
:sectnums:
:sectnumlevels: 2
:docinfo1:


Ten dokument jest napisany dla WeeChat w wersji ≥ 0.3.0, ale powinien być używany
dla najnowszej stabilnej wersji.

Tłumaczenie:

* Krzysztof Korościk <soltys1@gmail.com>, 2009-2016

toc::[]


[[general]]
== Ogólne

[[weechat_name]]
=== Skąd się wzięła nazwa "WeeChat"?

"Wee" to akronim rekursywny oznaczającym "Wee Enhanced Environment".
Stąd kompletna nazwa to "Wee Enhanced Environment for Chat".

"Wee" oznacza również "bardzo mały" (tak jest jeszcze inne znaczenie, ale nie
pasuje ono do WeeChat!).

[[why_choose_weechat]]
=== Dlaczego wybrać WeeChat? X-Chat i Irssi są takie dobre...

Ponieważ WeeChat jest bardzo lekki i posiada innowacyjne funkcje.

Więcej informacji o moliwościach WeeChat można znaleźć tutaj: https://weechat.org/about/features

[[compilation_install]]
== Kompilacja / instalacja

[[gui]]
=== Słyszałem o wielu GUI dla WeeChat. Jak mogę je skompilować/użyć?

Dostępne są zdalne interfejsy, możesz o nich poczytać na tej stronie:
https://weechat.org/about/interfaces

[[compile_git]]
=== Nie mogę skompilować WeeChat po sklonowaniu repozytorium git, dlaczego?

Zalecaną metodą kompilacji WeeChat jest użycie
link:weechat_user.pl.html#compile_with_cmake[CMake].

Jeśli kompilujesz używając link:weechat_user.pl.html#compile_with_autotools[autotools]
(nie CMake), upewnij się, że posiadasz najnowszą wersję autoconf i automake.

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.

[[compile_macos]]
=== Jak zainstalować WeeChat na macOS?

Zaleca się użycie https://brew.sh/[Homebrew], pomoc uzyskasz za pomocą komendy:

----
brew info weechat
----

Możesz zainstalować WeeChat za pomocą komendy:

----
brew install weechat
----

[[lost]]
=== Uruchomiłem WeeChat, ale czuję się zagubiony, co robić?

Dla pomocy wpisz `/help`. Aby uzyskać pomoc dla komendy wpisz `/help komenda`.
link:weechat_user.pl.html#key_bindings[Keys] i
link:weechat_user.pl.html#commands_and_options[commands] są opisane w dokumentacji.

Nowym użytkowniką zaleca się przeczytanie dokumentu
link:weechat_quickstart.pl.html[Szybki start].

[[display]]
== Wyświetlanie

[[charset]]
=== Nie widzę niektórych znaków diakrytycznych, co mogę zrobić?

Jest to częsty problem powodowany przez wiele rzeczy, przeczytaj uważnie i sprawdź
*WSZYSTKIE* rozwiązania opisane poniżej:

* sprawdź czy weechat jest zlinkowany z libncursesw (uwaga: wymagane na
  większości dystrybucji ale nie wszystkich): `ldd /ścieżka/do/weechat`
* sprawdź czy wtyczka "charset" jest załadowana za pomocą komendy `/plugin`
  (jeśli nie jest, to najprawdopodobniej potrzebujesz pakietu "weechat-plugins")
* sprawdź wyjście komendy `/charset` (w głównym buforze). Powinieneś zobaczyć
  _ISO-XXXXXX_ lub _UTF-8_ dla kodowania terminala. Jeśli widzisz _ANSI_X3.4-1968_
  lub inne wartości, twoje ustawienie dla locale najprawdopodobniej jest złe. +
  Aby to naprawić, sprawdź zainstalowane w systemie kodowania za pomocą `locale -a`
  i ustaw odpowiednią wartość zmiennej $LANG, na przykład: `+export LANG=en_US.UTF-8+`.
* ustaw globalną wartość dekodowania, na przykład:
  `/set charset.default.decode "ISO-8859-2"`
* jeśli korzystasz z UTF-8:
** sprawdź czy twój terminal jest przystosowany dla UTF-8 (zalecanym terminalem
   dla UTF-8 jest rxvt-unicode)
** jeśli korzystasz ze screena, sprawdź czy jest uruchomiony z trybem UTF-8
   ("`defutf8 on`" w ~/.screenrc lub `screen -U` uruchamiając screena)
* sprawdź czy opcja
  link:weechat_user.pl.html#option_weechat.look.eat_newline_glitch[_weechat.look.eat_newline_glitch_]
  jest wyłączona (ta opcja może powodować błędy wyświetlania)

[NOTE]
UTF-8 jest zalecany dla WeeChat. Jeśli korzystasz z lokalizacji ISO lub innych,
sprawdź czy *wszystkie* twoje ustawienia (terminal, screen, ..) są ISO,
a *nie* UTF-8.

[[unicode_chars]]
=== Niektóre znaki unicode są wyświetlane w terminalu ale nie w WeeChat, dlaczego?

Może to być spowodowane przez błąd libc w funkcji _wcwidth_, który powinien zostać
naprawiony w glibc 2.22 (może jeszcze nie być dostępny w twojej dystrybucji).

Istnieje sposób na obejście błędu funkcji _wcwidth_:
https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat

Więcej informacji można znaleźć w zgłoszeniu błędu:
https://github.com/weechat/weechat/issues/79

[[bars_background]]
=== Paski jak tytuł i status nie są filtrowane, kolor tła zatrzymuje się po tekście, czemu?

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

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

* jeżeli WeeChat działa lokalnie lub na zdalnej maszynie bez programów jak screen czy tmux,
  zależy od używanego terminala: _xterm_, _xterm-256color_, _rxvt-unicode_,
  _rxvt-256color_, ...
* jeśli WeeChat działa pod screenem, zmienna $TERM powinna zawierać _screen_ lub _screen-256color_,
* jeśli WeeChat działa pod tmuxem, zmienna $TERM powinna zawierać _tmux_, _tmux-256color_,
  _screen_ lub _screen-256color_.

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

[[screen_weird_chars]]
=== Podczas używania WeeChat pod screenem/tmuxem pojawiają mi się dziwne, losowe znaki, jak to naprawić?

Może to być spowodowane przez złą wartość zmiennej TERM w swojej powłoce (spójrz
na wynik `echo $TERM` w swoim terminalu, *poza screenem/tmuxem*). +
Na przykład, _xterm-color_ może wyświetlać takie dziwne znaki, możesz użyć _xterm_,
który działa dobrze (jak wiele innych wartości). +
W razie potrzeby, popraw zmienna TERM: `export TERM="xxx"`.

Jeśli używasz gnome-terminal, sprawdź czy opcja "Ambigous-width chracters"
w menu Preferencje/Profile/Kompatybilność jest ustawiona na `narrow`.

[[macos_display_broken]]
=== Skompilowałem WeeChat pod macOS i wszędzie na ekranie widzę "(null)", co jest nie tak?

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

Ponadto, pod macOS, zaleca się instalowanie WeeChat za pomocą managera pakietów
Homebrew.

[[buffer_vs_window]]
=== 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 lub grupę połączonych buforów.
Buform może być ukryty (nie wyświetlany w żadnym oknie) lub wyświetlany w jednym lub
kilku oknach.

[[buffers_list]]
=== Jak wyświetlić listę z buforami po lewej stronie?

W wersji WeeChat ≥ 1.8, wtyczka link:weechat_user.pl.html#buflist_plugin[buflist]
jest domyślnie włączona i załadowana.

W starszych wersjach możesz zainstalować skrypt _buffers.pl_:

----
/script install buffers.pl
----

Ograniczenie rozmiaru bufora z listą kanałów (zamień "buflist" na "buffers" jeśli
używasz skryptu _buffers.pl_):

----
/set weechat.bar.buflist.size_max 15
----

Aby przesunąć pasek na spód:

----
/set weechat.bar.buflist.position bottom
----

Przewijanie paska: jeśli obsługa myszy jest włączona (skrót: kbd:[Alt+m]), możesz
przewijać pasek za pomocą rolki myszy.

Domyślne skróty do przewijania paska _buflist_ to kbd:[F1] (lub kbd:[Ctrl+F1]),
kbd:[F2] (lub kbd:[Ctrl+F2]), kbd:[Alt+F1] oraz kbd:[Alt+F2].

Dla skryptu _buffers.pl_, możesz zdefiniować skróty w podobny sposób do istniejących
skrótów do przewijania listy nicków. +
Na przykład kbd:[F1], kbd:[F2], kbd:[Alt+F1] oraz kbd:[Alt+F2]:

----
/key bind meta-OP /bar scroll buffers * -100%
/key bind meta-OQ /bar scroll buffers * +100%
/key bind meta-meta-OP /bar scroll buffers * b
/key bind meta-meta-OQ /bar scroll buffers * e
----

[NOTE]
Klawisze "meta-OP" i "meta-OQ" mogą być inne dla twojego terminala. W celu
znalezienia ich kodów wciśnij kbd:[Alt+k] następnie przycisk.

[[customize_prefix]]
=== Jak mogę ograniczyć długość wyświetlanych nicków lub usunąć wyrównanie w oknie rozmowy?

W celu ograniczenia długości nicków w oknie rozmowy:

----
/set weechat.look.prefix_align_max 15
----

Żeby usunąć wyrównanie nicków:

----
/set weechat.look.prefix_align none
----

[[status_hotlist]]
=== Co oznacza [H: 3(1,8), 2(4)] na pasku statusu?

Jest to "hotlista", lista buforów z ilością nieprzeczytanych wiadomości,
w kolejnoci: podświetlenia, prywatne wiadomości, wiadomości, inne (jak
wejścia/wyjścia). +
Ilość "nieprzeczytanych wiadomości" to lista nowych wyświetlonych/odebranych
wiadomości od ostatniej wizyty w buforze.

w przykładzie `[H: 3(1,8), 2(4)]`, oznacza:

* 1 wywołanie i 8 nieprzeczytanych wiadomości w buforze #3,
* 4 nieprzeczytane wiadomości w buforze #2.

Kolor bufora/licznika zależy od typu wiadomoci, domyślne kolory:

* podświetlenie: `lightmagenta` / `magenta`
* prywatna wiadomość: `lightgreen` / `green`
* wiadomość: `yellow` / `brown`
* inne: `default` / `default` (kolor tekstu w terminalu)

Kolory można zmienić za pomocą opcji __weechat.color.status_data_*__
(bufory) i __weechat.color.status_count_*__ (liczniki). +
Pozostałe opcje hotlist można zmienić za pomocą opcji __weechat.look.hotlist_*__.

Więcej informacji na temat hotlity można znaleźć w
link:weechat_user.pl.html#screen_layout[Poradniku użytkownika / Układ ekranu].

[[input_bar_size]]
=== Jak używać linii poleceń z więcej niż jednym wierszem?

Opcja _size_ paska wprowadzania może zostać ustawiona na wartość wyższą niż 1
(dla ustalonej wartości, domyślny rozmiar to 1) lub 0 dla dynamicznego rozmiaru,
następnie opcja _size_max_ ustali maksymalny rozmiar (0 = brak limitu).

Przykład dynamicznego rozmiaru:

----
/set weechat.bar.input.size 0
----

Maksymalny rozmiar równy 2:

----
/set weechat.bar.input.size_max 2
----

[[one_input_root_bar]]
=== Czy jest możliwe wyświetlanie tylko jednego paska wejściowego dla wszystkich okien (po podzieleniu)?

Tak, należy stworzyć pasek typu "root" (z elementem mówiącym, w którym oknie
aktualnie jesteśmy), następnie usunąć obecny pasek wejściowy.

Na przykład:

----
/bar add rootinput root bottom 1 0 [buffer_name]+[input_prompt]+(away),[input_search],[input_paste],input_text
/bar del input
----

Jeśli kiedyś przestanie ci to odpowiadać, po prostu usuń ten pasek, WeeChat
automatycznie stworzy nowy pasek "input" jeśli element "input_text" nie zostanie
użyty w żadnym z pasków:

----
/bar del rootinput
----

[[terminal_copy_paste]]
=== Jak mogę kopiować/wklejać tekst bez wklejania listy nicków?

W WeeChat od wersji ≥ 1.0, możesz użyć trybu niesformatowanego wyświetlania
(domyślnie: kbd:[Alt+l] (`L`)), który wyświetli zawartość obecnie wybranego okna
bez żadnego formatowania.

Możesz użyć terminala z prostokątnym zaznaczaniem (jak rxvt-unicode,
konsole, gnome-terminal, ...). Klawisze to zazwyczaj kbd:[Ctrl] + kbd:[Alt] + zaznaczenie myszką.

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

----
/set weechat.bar.nicklist.position top
----

[[urls]]
=== Jak mogę kliknąć na długi URL (dłuższy niż linia)?

W WeeChat od wersji ≥ 1.0, możesz użyć trybu niesformatowanego wyświetlania
(domyślnie: kbd:[Alt+l] (`L`)).

Żeby operowanie na URLach było latwiejsze możesz:

* przenieść listę nicków na górę:

----
/set weechat.bar.nicklist.position top
----

* wyłączyć wyrównanie dla wieloliniowych słów (WeeChat ≥ 1.7):

----
/set weechat.look.align_multiline_words off
----

* albo dla wszystkich zawiniętych lini:

----
/set weechat.look.align_end_of_lines time
----

W WeeChat ≥ 0.3.6 można włączyć opcję "eat_newline_glitch", dzięki której znaki
nowej linii nie są dodawane na końcu każdej wyświetlanej linii (nie zakłóci to
zaznaczania urli):

----
/set weechat.look.eat_newline_glitch on
----

[IMPORTANT]
Ta opcja może spowodować pojawienie się błędów. Jeśli doświadczysz takich problemów
wyłącz tą opcję.

Innym rozwiązaniem jest użycie skryptu:

----
/script search url
----

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

Oczywiście jest to możliwe:

----
/set env LANG pl_PL.UTF-8
/upgrade
----

[[timezone]]
=== Jak mogę zmienić strefę czasową?

Nie ma opcji na zmianę strefy czasowej w WeeChat, zmienna środowiskowa `TZ` musi
być ustawiona na odpowiednią wartość.

W pliku inicjalizującym powłokę lub w linii poleceń, przed uruchomieniem WeeChat wpisz:

----
export TZ=Europe/Warsaw
----

W WeeChat, nowa wartość zostanie natychmiast użyta:

----
/set env TZ Europe/Warsaw
----

[[use_256_colors]]
=== Jak mogę użyć 256 kolorów w WeeChat?

256 kolorów jest wspierane tylko w WeeChat ≥ 0.3.4.

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

* w screenie: _screen-256color_
* pod tmuxem: _screen-256color_ lub _tmux-256color_
* poza screenem/tmuxem: _xterm-256color_, _rxvt-256color_, _putty-256color_, ...

[NOTE]
Może okazać się konieczne zainstalowanie pakietu "ncurses-term" w celu użycia
tych wartości w zmiennej _TERM_.

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

----
term screen-256color
----

Jeśli twoja zmienna _TERM_ posiada złą wartość i WeeChat jest już uruchomiony,
możesz zmienić ją za pomocą tych dwóch komend (dla wersji WeeChat ≥ 1.0):

----
/set env TERM screen-256color
/upgrade
----

Dla wersji 0.3.4, musisz użyć komendy `/color` w celu dodania nowych kolorów.

Dla wersji ≥ 0.3.5, można używać dowolnego numeru koloru w opcjach (opcjonalnie:
można stworzyć alias dla koloru za pomocą komendy `/color`).

Więcej informacji o zarządzaniu kolorami można znaleźć w
link:weechat_user.pl.html#colors[Poradniku użytkownika / Kolory].

[[search_text]]
=== Jak mogę wyszukać tekst w buforze (jak za pomocą /lastlog w irssi)?

Domyślny skrót klawiszowy to kbd:[Ctrl+r] (komenda: `+/input search_text_here+`).

Poruszanie się między podświetleniami: kbd:[Alt+p] / kbd:[Alt+n].

Więcej informacji o skrótach klawiszowych można znaleźć w
link:weechat_user.pl.html#key_bindings[Poradniku użytkownika / Domyślne skróty klawiszowe].

[[terminal_focus]]
=== Jak mogę wykonywać komendy, kiedy terminal stanie się/przestanie być aktywny?

Musisz włączyć obsługę tego zdarzenia za pomocą specjalnego kodu wysyłanego do terminala.

*Ważne*:

* Musisz użyć współczesnego terminala zgodnego z xterm.
* Dodatkowo, istotne jest, any zmenna TERM była utawiona na wartość _xterm_ lub _xterm-256color_.
* Jeśli używaz tmuxa, musisz dodatkowo włączyć obsługę zdarzeń aktywności poprzez dodanie
  `set -g focus-events on` do pliku _.tmux.conf_.
* *Nie* działa to pod screenem.

Żeby wysłać kod podczas uruchamiania WeeChat:

----
/set weechat.startup.command_after_plugins "/print -stdout \033[?1004h\n"
----

Następnie przypisz dwie kombinacje klawiszy dla stanu aktywności (zamień komendy
`/print` własnymi komendami:

----
/key bind meta2-I /print -core focus
/key bind meta2-O /print -core unfocus
----

Na przykład w celu oznaczenia boforów jako nie przeczytane w momencie jak terminal straci focus:

----
/key bind meta2-O /input set_unread
----

[[screen_paste]]
=== Kiedy WeeChat działa pod screenem, tekst wklejany do innego okna screena ma dodane ~0 i ~1 dookoła, dlaczego?

Jest to spowodowane przez opcję wklejania nawiasów, która jest domyślnie włączona i nie jest
właściwie obsługiwana przez inne okna screena.

Możesz po prostu wyłączyć tą opcję:

----
/set weechat.look.paste_bracketed off
----

[[small_terminal]]
=== Jak mogę dostosować wyświetlanie do bardzo małych terminali (jak 80x25), żeby nie tracić przestrzeni?

Możesz usunąć boczne paski (listy buforów i nicków), zmienić wyświetlany format czasu
żeby wyświetlane były tylko godziny i minuty, wyłączyć wyrównywanie wiadomości i ustawić
znak dla prefiksu/sufiksu nicka:

----
/set buflist.look.enabled off
/bar hide nicklist
/set weechat.look.buffer_time_format "%H:%M"
/set weechat.look.prefix_align none
/set weechat.look.align_end_of_lines prefix
/set weechat.look.nick_suffix ">"
/set weechat.look.nick_prefix "<"
----

Terminal 80x25, z domyślną konfiguracją:

....
┌────────────────────────────────────────────────────────────────────────────────┐
│1.local     │Welcome on WeeChat channel!                                        │
│  weechat   │16:27:16        --> | FlashCode (~flashcode@localhost)  │@FlashCode│
│2.  #weechat│                    | has joined #weechat               │ bob      │
│            │16:27:16         -- | Mode #weechat [+nt] by hades.arpa │          │
│            │16:27:16         -- | Channel #weechat: 1 nick (1 op, 0 │          │
│            │                    | voices, 0 normals)                │          │
│            │16:27:18         -- | Channel created on Sun, 22 Mar    │          │
│            │                    | 2020 16:27:16                     │          │
│            │17:02:28        --> | bob (~bob_user@localhost) has     │          │
│            │                    | joined #weechat                   │          │
│            │17:03:12 @FlashCode | hi bob, you're the first user     │          │
│            │                    | here, welcome on the WeeChat      │          │
│            │                    | support channel!                  │          │
│            │17:03:33        bob | hi FlashCode                      │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │                                                        │          │
│            │[17:04] [2] [irc/local] 2:#weechat(+nt){2}                         │
│            │[@FlashCode(i)] █                                                  │
└────────────────────────────────────────────────────────────────────────────────┘
....

Terminal 80x25, po zmianach:

....
┌────────────────────────────────────────────────────────────────────────────────┐
│Welcome on WeeChat channel!                                                     │
│16:27 --> FlashCode (~flashcode@localhost) has joined #weechat                  │
│16:27 -- Mode #weechat [+nt] by hades.arpa                                      │
│16:27 -- Channel #weechat: 1 nick (1 op, 0 voices, 0 normals)                   │
│16:27 -- Channel created on Sun, 22 Mar 2020 16:27:16                           │
│17:02 --> bob (~bob_user@localhost) has joined #weechat                         │
│17:03 <@FlashCode> hi bob, you're the first user here, welcome on the WeeChat   │
│      support channel!                                                          │
│17:03 <bob> hi FlashCode                                                        │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│                                                                                │
│[17:04] [2] [irc/local] 2:#weechat(+nt){2}                                      │
│[@FlashCode(i)] █                                                               │
└────────────────────────────────────────────────────────────────────────────────┘
....

[[key_bindings]]
== Przypisania klawiszy

[[meta_keys]]
=== 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.

Jeśli używasz aplikacji Terminal na macOS włącz opcję
"Use option as meta key" w menu Settings/Keyboard. Następnie możesz używać klawisza
kbd:[Option] jako klawisza meta.

[[customize_key_bindings]]
=== Jak mogę zmienić przypisania klawiszy?

Przypisania klawiszy można dostosować za pomocą komendy `/key`.

Domyślnie kbd:[Alt+k] pozwala pobrać kod klawiszy i umieścić go w wierszu
poleceń.

[[jump_to_buffer_11_or_higher]]
=== Jakim skrótem można przejść do buforu 11 (lub o większym numerze)?

Skrót to kbd:[Alt+j] i dwie cyfry, na przykład kbd:[Alt+j], kbd:[1], kbd:[1]
przejdzie do buforu 11.

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

----
/key bind meta-q /buffer *11
----

Listę domyślnych skrótów klawiszowych można znależć w
link:weechat_user.pl.html#key_bindings[Poradniku uzytkownika / Domyślne skróty klawiszowe].

Aby przesjść do bufora o numerze  ≥ 100, możesz zdefiniować trigger i następnie użyć
komendy w stylu `/123` żeby przejść do bufora #123:

----
/trigger add numberjump modifier "2000|input_text_for_buffer" "${tg_string} =~ ^/[0-9]+$" "=\/([0-9]+)=/buffer *${re:1}=" "" "" "none"
----

[[global_history]]
=== Jak używać globalnej historii (zamiast historii buforu) za pomocą strzałek góra/dół?

Możesz przypisać strzałki w górę i dół do globalnej historii (domyślnie dla
globalnej historii przypisane są klawisze kbd:[Ctrl+↑] oraz kbd:[Ctrl+↓]).

Przykład:

----
/key bind meta2-A /input history_global_previous
/key bind meta2-B /input history_global_next
----

[NOTE]
Klawisze "meta2-A" i "meta2-B" mogą być inne dla twojego terminala. W celu
znalezienia ich kodów wciśnij kbd:[Alt+k] następnie przycisk.

[[mouse]]
== Obsługa myszy

[[mouse_not_working]]
=== Obsługa myszy w ogóle nie działa, co mogę zrobić?

Mysz nie jest obsługiwana w WeeChat ≥ 0.3.6.

Na samym początku należy włączyć obsługę myszy:

----
/mouse enable
----

Jeśli to nie pomogło należy sprawdzić wartość zmiennej TERM w swojej powłoce
(wynik komendy `echo $TERM` w swoim terminalu).
W zależności od używanego terminfo, mysz może nie być wspierana.

Możesz sprawdzić wsparcie myszy w terminalu:

----
$ printf '\033[?1002h'
----

Następnie kliknij pierwszy znak w terminalu (górny lewy róg). Powinieneś zobaczyć " !!#!!".

Aby wyłączyć wsparcie dla myszy w terminalu:

----
$ printf '\033[?1002l'
----

[[mouse_coords]]
=== Mysz nic nie robi dla X lub Y większych od 94 (lub 222), dlaczego?

Niektóre terminale wysyłają tylko znaki ISO dla położenia myszy, dlatego nie
działa to dla X/Y większych dla 94 (lub 222).

Powinieneś użyć terminala wspierającego położenia UTF-8 dla myszy, jak
rxvt-unicode.

[[mouse_select_paste]]
=== Jak mogę zaznaczyć lub wkleić tekst w terminalu z włączoną obsługa myszy w WeeChat?

Kiedy obsługa myszy jest włączona w WeeChat, można użyć modyfikatora kbd:[Shift]
do zaznaczania lub kliknać w terminalu, tak jak w przypadku wyłączonej obsługi
myszy (w niektórych terminalach jak iTerm należy użyć kbd:[Alt] zamiast
kbd:[Shift]).

[[irc]]
== IRC

[[irc_ssl_connection]]
=== Mam problemy podczas połączenia z serwerem używającym SSL, co mogę zrobić?

Jeśli używasz Mac macOS, musisz zainstalować `openssl` z Homebrew.
Plik CA zostanie wygenerowany korzystając z systemowego keychaina.
Możez natępnie ustawić ścierzkę do certyfikatów w WeeChat:

----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----

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

----
/set irc.server.example.ssl_dhkey_size 1024
----

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

----
/set irc.server.example.ssl_verify off
----

Jeśli serwer ma niewłaściwy certyfikat i wiesz jaki on powinien być,
możesz podać sumę kontrolną (SHA-512, SHA-256 lub SHA-1):

----
/set irc.server.example.ssl_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b
----

[[irc_ssl_handshake_error]]
=== Podczas łączenia się z serwerem poprzez SSL widzę tylko błąd "TLS handshake failed", co mogę zrobić?

Możesz spróbować innego ciągu priorytetu (tylko WeeChat ≥ 0.3.5), zamień "xxx"
nazwą serwera:

----
/set irc.server.xxx.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
----

[[irc_ssl_freenode]]
=== Jak mogę połączyć się z serwerem freenode używając SSL?

Ustaw opcję _weechat.network.gnutls_ca_file_ do pliku z certyfikatami:

----
/set weechat.network.gnutls_ca_file "/etc/ssl/certs/ca-certificates.crt"
----

Uwaga: jeśli używasz macOS z openssl zainstalowanym przez homebrew, możesz wykonać:

----
/set weechat.network.gnutls_ca_file "/usr/local/etc/openssl/cert.pem"
----

[NOTE]
Należy sprawdzić czy plik znajduje się w systemie (zazwyczaj dostarczany
przez pakiet "ca-certificates").

Ustaw port serwera, SSL, następnie się połącz:

----
/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on
/connect freenode
----

[[irc_oauth]]
=== Jak połączyć się z serwerem wymagającym "oauth"?

Niektóre serwery jak _twitch_ wymagają oauth do połączenia.

Oauth to po prostu hasło w postaci "oauth:hasło".

Możesz dodać taki serwer i połączyć się z nim za pomocą komend (zamień
nazwę i adres na poprawne wartości):

----
/server add nazwa irc.server.org -password=oauth:hasło
/connect nazwa
----

[[irc_sasl]]
=== Jak mogę się zidentyfikować przed wejściem na kanały?

Jeśli serwer wspiera SASL, możesz użyć tego zamiast wysyłać komendę do nickserva,
na przykład:

----
/set irc.server.freenode.sasl_username "nick"
/set irc.server.freenode.sasl_password "xxxxxxx"
----

Jeśli serwer nie wspiera SASL, możesz dodać odstęp pomiędzy komendą a wejściem
na kanały):

----
/set irc.server.freenode.command_delay 5
----

[[edit_autojoin]]
=== Jak mogę dodać/usunąć kanaly z opcji automatycznego wejścia?

Możesz użyć komendy `/set` do edytowania tej listy, na przykład dla serwera
"freenode":

----
/set irc.server.freenode.autojoin [TAB]
----

[NOTE]
Możesz dopełniać nazwy i wartości opcji za pomocą przycisku kbd:[Tab]
(lub kbd:[Shift+Tab] dla częściowych dopełnień, przydatne dla nazw). +
Dzięki temu nie trzeba wpisywać pełnej listy kanałów.

Możesz w tym celu u żyć także komendy `/fset`:

----
/fset autojoin
----

Innym rozwiązaniem jest użycie skryptu:

----
/script search autojoin
----

[[ignore_vs_filter]]
=== 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 stosuje się do treści wiadomości).
Pasujące wiadomości są usuwane przez wtyczkę IRC przed wyświetleniem (nigdy
ich nie zobaczysz i nie zostaną przywrócone po zaprzestaniu ignorowania).

Komenda `/filter` jest komendą WeeChat, można jej użyć do dowolnego bufora.
Pozwala filtrować niektóre linie w buforach za pomocą tagów lub wyrażeń
regularnych dla przedrostków i zawartości linii.
Filtrowane linie są tylko ukrywane, nie usuwane, można je zobaczyć wyłączając
filtry (domyślnie kbd:[Alt+=] zmienia stan filtrów).

[[filter_irc_join_part_quit]]
=== Jak mogę filtrować wiadomości o wejściu/opuszczeniu/wyjściu na kanałach IRC?

Za pomocą inteligentnych filtrów (zachowuje wejścia/opuszczenia/wyjścia od osób
piszących niedawno):

----
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
----

Za pomocą globalnego filtru (ukrywa *wszystkie* wejścia/opuszczenia/wyjścia):

----
/filter add joinquit * irc_join,irc_part,irc_quit *
----

[NOTE]
+For help: `/help filter`, `+/help irc.look.smart_filter+` and see
+link:weechat_user.pl.html#irc_smart_filter_join_part_quit[Poradniku użytkownika / Inteligentne filtry dla wiadomości].

[[filter_irc_join_channel_messages]]
=== Jak mogę filtrować wyświetlane wiadomości podczas wejścia na kanał IRC?

W wersjach WeeChat ≥ 0.4.1, możesz wybrać to, jakie wiadomości są wyświetlane
a jakie nie podczas wchodzenia na kanał, za pomocą opcji _irc.look.display_join_message_
(więcej informacji można znaleźć wykonując `+/help irc.look.display_join_message+`).

W celu ukrycia wiadomości (ale zachowując je w buforze), możesz je filtrować
używając tagu (na przykład _irc_329_ dla daty utworzenia kanału). zobacz
`/help filter` w celu uzyskania pomocy z filtrami.

[[filter_voice_messages]]
=== Jak mogę filtrować informacje o przyznaniu voice (np na serwerze Bitlbee)?

Filtrowanie wiadomości o przyznaniu 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.

Dla Bitlbee ≥ 3, należy wykonać na kanale _&bitlbee_:

----
channel set show_users online,away
----

Dla starszych wersji Bitlbee, należy wykonać na kanale _&bitlbee_:

----
set away_devoice false
----

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

Jeśli napewno chcesz filtrować wiadomości o statusie voice, możesz użyć tej komendy,
nie jest ona jednak doskonała (działa tylko jeśli pierwszy z modyfikowanych trybów to voice):

----
/filter add hidevoices * irc_mode (\+|\-)v
----

[[color_away_nicks]]
=== 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ć nieobecność 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_.

[[highlight_notification]]
=== Jak mogę zostać powiadomiony, jeśli ktoś będzie chciał przyciągnąć moją uwagę na kanale?


W wersji WeeChat ≥ 1.0, domyślnie dodany jest trigger "beep" wysyłający _BEL_ do
terminala przy podświetleniu lub prywatnej wiadomości. Dzięki temu możesz skonfigurować
swój terminal (lub multiplekser jak screen/tmux) do wykonania komendy lub odtworzenia
dźwięku, kiedy _BEL_ zostanie odebrany.

Lub możesz dodać komendę w triggerze "beep":

----
/set trigger.trigger.beep.command "/print -beep;/exec -bg /ścieżka/do/komendy argumenty"
----

W starszych wersjach WeeChat, możesz użyć skryptu jak _beep.pl_ lub _launcher.pl_.

Dla _launcher.pl_, należ przeprowadzić konfigurację:

----
/set plugins.var.perl.launcher.signal.weechat_highlight "/ścieżka/do/komendy argumenty"
----

Inne podobne skrypty:

----
/script search notify
----

[[disable_highlights_for_specific_nicks]]
=== Jak mogę wyłączyć podświetlenia dla konkretnych nicków?

Od wersji WeeChat ≥ 0.3.4 możesz użyć właściwości bufora
link:weechat_user.en.html#max_hotlist_level_nicks[hotlist_max_level_nicks_add]
maksymalnego poziomu hotlisty dla niektórych nicków dla pojedynzego lub grupy
buforów (jak serwery IRC).

W celu wyłączenia tylko podświetleń wystarczy ustawić ja na 2:

----
/buffer set hotlist_max_level_nicks_add joe:2,mike:2
----

To utawienie nie jest zapisywane jednak w konfiguracji.
W celu automatycznego ustawiania tej właściwości należy użyć skryptu _buffer_autoset.py_:

----
/script install buffer_autoset.py
----

Na przykład w celu wyłączenia powiadomień od "mike" na #weechat w sieci freenode:
on the IRC server freenode:

----
/buffer_autoset add irc.freenode.#weechat hotlist_max_level_nicks_add mike:2
----

Dla całego serwera freenode:

----
/buffer_autoset add irc.freenode hotlist_max_level_nicks_add mike:2
----

Więcej przykładów można znaleźć wykonując komende `+/help buffer_autoset+`.

[[irc_target_buffer]]
=== Jak mogę zmienić docelowy bufor dla komendy w połączonym buforze (jak bufor z serwerami)?

Domyślna kombinacja to kbd:[Ctrl+x] (komenda: `+/input switch_active_buffer+`).

[[plugins_scripts]]
== Pluginy / skrypty

[[openbsd_plugins]]
=== 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ć:

----
/set weechat.plugin.extension ".so.0.0"
/plugin autoload
----

[[install_scripts]]
=== Jak mogę instalować skrypty? Czy są one kompatybilne z innymi klientami IRC?

W wersjach WeeChat ≥ 0.3.9 możesz użyć komendy `/script` do instalowania i zarzadzania
skryptami (zobacz `/help script`). W starszych wersjach można użyc skryptu weeget.py lub script.pl.

Skrypty nie są kompatybilne z innymi klientami IRC.

[[scripts_update]]
=== Komenda "/script update" nie może odczytać skryptów, jak to naprawić?

Najpierw zapoznaj się z zagadnieniami dotyczącymi połączeń SSL znajdującymi się
w tym dokumencie (zwłaszcza opcji _weechat.network.gnutls_ca_file_).

Jeśli to nie pomoże spróuj ręcznie usunąć plik z listą skryptów (z poziomu powłoki):

----
$ rm ~/.weechat/script/plugins.xml.gz
----

Następnie ponownie zaktualizuj listę sktyptów w WeeChat:

----
/script update
----

Jeśli w dalszym ciągu widzisz błąd musisz wyłączyć automatyczną aktualizację tego pliku
w WeeChat i ściągnąć go ręcznie w celu zaktualizowania listy dostępnych skryptów.
have to update manually the file yourself to get updates):

* w WeeChat:

----
/set script.scripts.cache_expire -1
----

* w powłoce, z zainstalowanym programem curl:

----
$ cd ~/.weechat/script
$ curl -O https://weechat.org/files/plugins.xml.gz
----

[[spell_dictionaries]]
=== Zainstalowałem słowniki aspell w systemie, jak mogę ich użyć bez restartowania WeeChat?

Musisz przeładować wtyczkę spell:

----
/plugin reload spell
----

[NOTE]
Od WeeChat w wersji ≤ 2.4, wtyczka "spell" zmieniła nazwę na "aspell", dlatego należy wykonać polecenie:
`/plugin reload aspell`.

[[settings]]
== Ustawienia

[[editing_config_files]]
=== Czy mogę ręcznie edytować pliki konfiguracyjne (*.conf)?

Możesz, ale *NIE* jest to zalecane.

Zaleca się użycie komendy `/set`:

* Możesz dopałnić nazwę i wartość opcji za pomocą klawisza kbd:[Tab]
  (lub kbd:[Shift+Tab] dla częściowego dopełnieina, przydatne dla nazw).
* wartość jest sprawdzana, w razie błędu wyświetlana jest wiadomość
* wartości zmieniane są od razu, nie trzeba retartować WeeChat ani nic takiego

Jeśli nadal chcesz ręcznie edytować pliki, powinieneś zachować ostrożność:

* jeśli wprowadzisz nieprawidłową wartość dla opcji, WeeChat wyświetli błąd
  przy ładowaniu i odrzuci błędną wartość (zostanie użyta wartość domyślna)
* jeśli WeeChat jet uruchomiony, należy wykonać komendę `/reload`, jeżeli
  jakieś ustawienia zostały zmienione ale nie zapisane za pomocą `/save`,
  zostaną utracone

[[memory_usage]]
=== 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 ładuj nieużywanych pluginów, np: buflist, fifo, logger, perl, python,
  ruby, lua, tcl, guile, javascript, php, spell, xfer (używana do DCC).
  Zobacz `/help weechat.plugin.autoload`.
* ładować tylko naprawdę używane skrypty
* nie ładuj certyfikatów jeśli SSL *NIE* jest używany: ustaw pusty ciąg w opcji
  _weechat.network.gnutls_ca_file_
* zmniejsz wartość dla opcji _weechat.history.max_buffer_lines_number_ lub ustaw
  wartość opcji _weechat.history.max_buffer_lines_minutes_
* zmniejszyć wartość opcji _weechat.history.max_commands_

[[cpu_usage]]
=== Jak mogę zmusić WeeChat do zużywania mniejszej mocy CPU?

Możesz skorzystać z tych samych porad jak dla  <<memory_usage,memory>>, oraz tych:

* schowaj pasek "nicklist": `/bar hide nicklist`
* usuń wyświetlanie sekund w czasie na pasku statusu:
  `+/set weechat.look.item_time_format "%H:%M"+` (domyślna wartość)
* wyłącz automatyczne sprawdzanie poprawności wpisywanych słów w linii poleceń (o ile je włączyłeś):
  `+/set spell.check.real_time off+`
* ustaw zmienną _TZ_ (na przykład: `export TZ="Europe/Warsaw"`), w celu zmniejszenia
  częstotliwości czytania pliku _/etc/localtime_

[[security]]
=== Mam paranoję na temat bezpieczeństwa, które ustawienia powinienem zmienić, żeby być bardziej bezpiecznym?

Wyłącz wiadomości o wyjściu z kanału i rozłączenia z serwerem:

----
/set irc.server_default.msg_part ""
/set irc.server_default.msg_quit ""
----

Wyłącz odpowiedzi na wszystkie zapytania CTCP:

----
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
----

Wyładuj i wyłącz automatyczne ładowanie wtyczki "xfer" (używanej przez IRC DCC):
----
/plugin unload xfer
/set weechat.plugin.autoload "*,!xfer"
----

Zdefiniuj hasło i używaj bezpiecznych danych wszędzie gdzie możesz dla danych wrażliwych
jak hasła: zobacz `/help secure` oraz `/help` na opcjach
(czy możesz użyć bezpiecznych danych, jest to zaznaczone w pomocy).
Zobacz również link:weechat_user.pl.html#secured_data[Poradniku użytkownika / Zabezpieczone dane].

Na przykład:

----
/secure passphrase xxxxxxxxxx
/secure set freenode_username username
/secure set freenode_password xxxxxxxx
/set irc.server.freenode.sasl_username "${sec.data.freenode_username}"
/set irc.server.freenode.sasl_password "${sec.data.freenode_password}"
----

[[sharing_config_files]]
=== Chcę się podzielić moją konfiguracją WeeChat, które pliki powinienem pokazać, a które nie?

Możesz pokazywać pliki z _~/.weechat/*.conf_ poza plikiem _sec.conf_, który
zawiera Twoje hasla zaszywrowane Twoim kluczem.

Niektóre pliki jak _irc.conf_ mogą zawierać wrażliwe dane jak hasła do
serwerów/kanałów (jeśli nie zostały dodane do _sec.conf_ za pomocą komendy `/secure`).

Przejrzyj link:weechat_user.pl.html#files_and_directories[Poradnik użytkownika / Pliki i foldery],
gdzie znajdziesz więcej informacji o plikach konfiguracyjnych.

[[development]]
== Rozwój

[[bug_task_patch]]
=== Jak zgłaszać błędy, prosić o nowe możliwości lub wysyłać patche?

Zobacz: https://weechat.org/about/support

[[gdb_error_threads]]
=== Kiedy uruchamiam 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
(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ć ścieżki do libpthread oraz
WeeChat na właściwe dla naszego systemu):

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

[[supported_os]]
=== Jaka jest lista platform wspieranych przez WeeChat? Czy będzie przeportowany na inne systemy operacyjne?

Pełną listę można znaleźć na stronie: https://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.

[[help_developers]]
=== 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:
https://weechat.org/about/support

[[donate]]
=== Czy mogę dać pieniądze albo inne rzeczy deweloperom WeeChat?

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