= Poradnik użytkownika WeeChat :author: Sébastien Helleu :email: flashcode@flashtux.org :lang: pl :toc: left :toclevels: 4 :toc-title: Spis treści :sectnums: :sectnumlevels: 3 :docinfo1: Tłumaczenie: * Krzysztof Korościk , 2009-2021 Ten dokument opisuje klienta rozmów WeeChat, będącego częścią WeeChat. Najnowsza wersja tego dokumentu dostępna jest na stronie: https://weechat.org/doc [[introduction]] == Wprowadzenie WeeChat (Wee Enhanced Environment for Chat) to darmowy klient rozmów, szybki i lekki, przeznaczony dla wielu systemów operacyjnych. [[features]] === Cechy Główne cechy to: * wsparcie dla wielu protokołów (mainly IRC) * połączenie z wieloma serwerami (z SSL, IPv6, proxy) * mały, szybki i lekki * konfigurowalny i rozszerzalny dzięki wtyczką i skryptom * zgodny z RFC dla IRC https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812] i https://tools.ietf.org/html/rfc2813[2813] * proxy IRC i pośrednik dla zdalnych interfejsów * wielo-platformowy (GNU/Linux, *BSD, macOS, Windows i inne) * 100% GPL, darmowe oprogramowanie Strona domowa WeeChat: https://weechat.org/ [[prerequisites]] === Wymagania Żeby zainstalować WeeChat, potrzebujesz: * działający system GNU/Linux (z narzędziami kompilatora dla kompilacji ze źródeł), lub kompatybilny system * przywileje _roota_ (do instalacji w katalogu systemowym) * niektóre biblioteki (zobacz <>). [[install]] == Instalacja [[binary_packages]] === Pakiety binarne Pakiety binarne dostępne są dla wielu dystrybucji, wliczając: * Arch Linuxa: `pacman -S weechat` * Cygwin (Windows): wybierz pakiet WeeChat w setup.exe * Debiana/Ubuntu (lub dowolna kompatybilna): `apt-get install weechat-curses weechat-plugins` + Najnowsze wersje i nocne buildy można znaleźć na stonie: https://weechat.org/download/debian * Fedora Core: `dnf install weechat` * Gentoo: `emerge weechat` * Mandrive/RedHata (lub dowolna kompatybilna): `rpm -i /path/to/weechat-x.y.z-1.i386.rpm` * openSUSE: `zypper in weechat` * Sourcemage: `cast weechat` Niektóre dodatkowe pakiety mogą okazać się przydatne, jak weechat-plugins. Dla innych dystrybucji, poszukaj w dokumentacji instrukcji na temat instalacji pakietów. [[source_package]] === Pakiety źródłowe WeeChat może być kompilowany za pomocą CMake lub autotools (CMake jest zalecany). [NOTE] Na macOS możesz użyć https://brew.sh/[Homebrew]: `brew install weechat` (pomoc można uzyskać za pomocą komendy: `brew info weechat`). [[dependencies]] ==== Zależności Poniższa tabela zawiera listę *wymaganych* zależności do skompilowania WeeChat: [width="100%",cols="5,^3,.^15",options="header"] |=== | Pakiet ^(1)^ | Wersja | Opis | kompilator C (gcc, clang, ...) | | Kompilacja. | cmake | ≥ 3.0 | Kompilacja (możliwe jest użycie autotools, jednak CMake jest zalecany). | pkg-config | | Wykrywa zainstalowane biblioteki. | libncursesw5-dev ^(2)^ | | Interfejs ncurses. | libcurl4-gnutls-dev | | Transfer URL. | zlib1g-dev | | Kompresja pakietów we wtyczce relay (protokół weechat), wtyczka script. | libgcrypt20-dev | | Zabezpieczone dane, uwierzytelnianie IRC SASL. | libgnutls28-dev | ≥ 2.2.0 ^(3)^ | Połączenia SSL z serwerami IRC, wsparcie dla SSL we wtyczce relay, uwierzytelnianie IRC SASL (ECDSA-NIST256P-CHALLENGE). |=== [NOTE] ^(1)^ Nazwy pochodzą z dystrybucji Debian GNU/Linux, wersje i nazwy pakietów mogą być inne w innych dystrybucjach. + ^(2)^ Zaleca się kompilację z użyciem libncurses**w**5-dev (*w* jest istotne). WeeChat można skompilowac używając libncurses5-dev, ale *NIE* jest to zalecane: możesz doświadczyć błędów wyświetlania. + ^(3)^ GnuTLS ≥ 3.0.21 jest wymagany dla uwierzytelnienia IRC SASL za pomocą mechanizmu ECDSA-NIST256P-CHALLENGE. The following table shows the list of packages that are optional to compile WeeChat: [width="100%",cols="5,^3,.^15",options="header"] |=== | Pakiet | Wersja | Opis | kompilator C++ | | Kompilacja i uruchamianie testów, wtyczka JavaScript. | gettext | | Internacjonalizacja (tłumaczenie wiadomości; język bazowy to Angielski). | ca-certificates | | Certyfikaty dla połączeń SSL. | libaspell-dev ∥ libenchant-dev | | Wtyczka spell. | python3-dev ^(1)^ | | Wtyczka python. | libperl-dev | | Wtyczka perl. | ruby2.5, ruby2.5-dev | ≥ 1.9.1 | Wtyczka ruby. | liblua5.3-dev | | Wtyczka lua. | tcl-dev | ≥ 8.5 | Wtyczka tcl. | guile-2.0-dev | ≥ 2.0 | Wtyczka guile (scheme). | libv8-dev | ≤ 3.24.3 | Wtyczka javascript. | php-dev, libphp-embed | ≥ 7.0 | Wtyczka PHP. | libxml2-dev | | Wtyczka PHP. | libargon2-0-dev | | Wtyczka PHP (jeśli PHP ≥ 7.2). | libsodium-dev | | Wtyczka PHP (jeśli PHP ≥ 7.2). | asciidoctor | ≥ 1.5.4 | Tworzenie strony man i dokumentacji. | libcpputest-dev | ≥ 3.4 | Kompilacja i uruchamianie testów. |=== [NOTE] ^(1)^ Domyślnie używany jest Pythin 3.x. Chyba że włączysz opcję `+ENABLE_PYTHON2+` (zobacz niżej), zaleca się uzywania wersji 2.7 Pythona. Jeśli używasz dystrybujci bazującej na Debianie/Ubuntu, oraz jeśli posiadasz wpisy "deb-src" w pliku _/etc/apt/sources.list_, możesz zainstalować wszytkie zależności za pomocą jednej komendy: ---- # apt-get build-dep weechat ---- [[compile_with_cmake]] ==== Kompilacja z użyciem CMake * Instalacja w katalogach systemowych (wymaga uprawnień użytkownika _root_): ---- $ mkdir build $ cd build $ cmake .. $ make $ sudo make install ---- * Instalacja w wybranym katalogu (na przykład w katalogu domowym): ---- $ mkdir build $ cd build $ cmake .. -DCMAKE_INSTALL_PREFIX=/ścieżka/do/katalogu $ make $ make install ---- Opcje mogą zostać przekazane do CMake, format `-DOPCJA=WARTOŚĆ`. Lista popularnych opcji: [width="100%",cols="3m,3,3m,10",options="header"] |=== | Opcja | Wartość | Wartość domyślna | Opis | CMAKE_BUILD_TYPE | `Debug`, `Release`, `RelWithDebInfo`, `MinSizeRel` | | Typ budowania pakietu: `Debug` (lub `RelWithDebInfo`) jest zalecany dla wersjrozwojowej WeeChat. | CMAKE_INSTALL_PREFIX | katalog | /usr/local | Katalog, do którego zostanie zainstalowany WeeChat. | WEECHAT_HOME | katalog | (pusty ciąg) | Domyślny katalog domowy dla WeeChat. + Bez ustawionej wartości (zalecane) domyślnie zostaną użyte wartości XDG. Jeśli wartość nie jest pusta zostanie użyty jeden katalog dla wszystkich plików. Wartością mogą być również 4 katalogi oddzielone dwukropkami, w takiej kolejności: config, data, cache, runtime. | ENABLE_ALIAS | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_BUFLIST | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_CHARSET | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_MAN | `ON`, `OFF` | OFF | Generowanie strony manuala. | ENABLE_DOC | `ON`, `OFF` | OFF | Generowanie dokumentacji HTML. | ENABLE_ENCHANT | `ON`, `OFF` | OFF | Kompilacja <> z Enchant. | ENABLE_EXEC | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_FIFO | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_FSET | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_GUILE | `ON`, `OFF` | ON | Kompilacja <> (Scheme). | ENABLE_IRC | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_JAVASCRIPT | `ON`, `OFF` | OFF | Kompilacja <>. | ENABLE_LARGEFILE | `ON`, `OFF` | ON | Wsparcie dla dużych plików. | ENABLE_LOGGER | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_LUA | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_NCURSES | `ON`, `OFF` | ON | Kompilacja interfejsu Ncurses. | ENABLE_NLS | `ON`, `OFF` | ON | Włączenie NLS (tłumaczenia). | ENABLE_PERL | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_PHP | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_PYTHON | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_PYTHON2 | `ON`, `OFF` | OFF | Kompilacja <> z użyciem Pythona 2 zamiast Pythona 3. | ENABLE_RELAY | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_RUBY | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_SCRIPT | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_SCRIPTS | `ON`, `OFF` | ON | Kompilacja <> (Python, Perl, Ruby, Lua, Tcl, Guile, JavaScript, PHP). | ENABLE_SPELL | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_TCL | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_TRIGGER | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_TYPING | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_XFER | `ON`, `OFF` | ON | Kompilacja <>. | ENABLE_TESTS | `ON`, `OFF` | OFF | Kompiluje testy. | ENABLE_CODE_COVERAGE | `ON`, `OFF` | OFF | Kompilacja z opcja pokrycia kodu. + Ta opcja powinna być używana tylko dla testów, w celu pomiaru pokrycia kodu. |=== Pozostałe opcje można wyświetlić poleceniem: ---- $ cmake -LA ---- Lub z interfejsem Curses: ---- $ ccmake .. ---- [[compile_with_autotools]] ==== Kompilacja z użyciem autotools [WARNING] Oficjalne wsparcie do budowania WeeChat posiada tylko CMake. Powinieneś używać autotools tylko jeśli nie możesz użyć CMake. + Budowanie z użyciem autotools wymaga więcej zależności i jest wolniejsze niż z CMake. * Instalacja w katalogach systemowych (wymaga uprawnień użytkownika _root_): ---- $ ./autogen.sh $ mkdir build $ cd build $ ../configure $ make $ sudo make install ---- * Instalacja w wybranym katalogu (na przykład w katalogu domowym): ---- $ ./autogen.sh $ mkdir build $ cd build $ ../configure --prefix=/ścieżka/do/katalogu $ make $ make install ---- Opcje mogą zostać przekazane to skryptu _configure_, można je wyświetlić za pomocą tej komendy: ---- $ ./configure --help ---- [[run_tests]] ==== Uruchamianie testów Następujące pakiety są *wymagane* do kompilacji testów: * libcpputest-dev * kompilator C++ Testy muszą być włączone podczas kompilacji WeeChat (z użyciem CMake): ---- $ cmake .. -DENABLE_TESTS=ON ---- Można je uruchomić po skompilowaniu z katalogu kompilacji (z użyciem CMake): ---- $ ctest -V ---- [[git_sources]] === Źródła z gita Uwaga: źródła z gita przeznaczone są tylko dla zaawansowanych użytkowników: mogą się nie kompilować lub być niestabilne. Zostałeś ostrzeżony! W celu pobrania źródeł z gita, wykonaj poniższą komendę: ---- $ git clone https://github.com/weechat/weechat.git ---- Następnie postępuj zgodnie z instrukcjami dla pakietów źródłowych (zobacz <>). [[report_crashes]] === Zgłaszanie awarii Jeśli doświadczyłeś awarii, lub chcesz zgłosić przyszłą awarię WeeChat, należy: * skompilować WeeChat z: ** informacjami dla debuggera (albo zainstalować stosowną paczkę w systemie) ** weryfikacją adresów (opcjonalnie) * włączyć obsługę plików _core_ w systemie * zainstalować gdb [[build_debug]] ==== Kompilowanie z informacjami dla debuggera Jeśli kompilujesz z użyciem CMake: ---- $ cmake .. -DCMAKE_BUILD_TYPE=Debug ---- [[build_debug_address_sanitizer]] ==== Kompilowanie z weryfikowaniem adresów Możesz dodatowo włączyć weryfikację adresów, co spowoduje natychmiastową awarię WeeChat w przypadku wystąpienia problemu: ---- $ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address ---- [WARNING] Powinieneś włączyć tą opcję tylko jeśli chcesz wymusić awarię aplikacji, nie powinno się tego używać do codziennej pracy. Po skompilowaniu i zainstalowaniu należy uruchamiać WeeChat w taki sposób: ---- $ ASAN_OPTIONS="detect_odr_violation=0 log_path=asan.log" weechat ---- W przypadku awarii plik logi znajdą się w pliku `asan.log`. [[core_files]] ==== CPliki core W celu włączenia plików _core_ możesz użyć opcji <>: ---- /set weechat.startup.sys_rlimit "core:-1" ---- Dla WeeChat w wersji ≤ 0.3.8 albo jeśli chcesz włączyć obsługę plików core przed startem WeeChat, możesz użyć komendy `ulimit`. Na przykład pod Linuksem używając powłoki _bash_, dodaj to do pliku `~/.bashrc`: ---- ulimit -c unlimited ---- Lub z maksymalnym rozmiarem: ---- ulimit -c 200000 ---- [[gdb_backtrace]] ==== Pozyskiwanie logów za pomocą gdb Kiedy WeeChat ulegnie awarii, Twój system stworzy plik _core_ lub _core.12345_ (_12345_ to id procesu) jeśli <>. Plik ten zostanie utworzony w katalogu, z którego uruchomiono WeeChat (*nie* jest to katalog, gdzie zainstalowano WeeChat!). [NOTE] Na niektórych systemach jak Archlinux pliki te mogą znajdować się w innym katalogu jak _/var/lib/systemd/coredump_ i należy użyć komendy `coredumpctl` do ich odczytania. + Więcej informacji można znaleźć na tej stronie wiki: https://wiki.archlinux.org/index.php/Core_dump Na przykład jeśli _weechat_ jest zainstalowany w _/usr/bin/_ i plik _core_ znajduje się w _/home/user/_, uruchom gdb za pomocą tej komendy: ---- gdb /usr/bin/weechat /home/user/core ---- Następnie pod gdb użyj komendy `bt full`, aby wyświetlić log. Zobaczysz coś podobnego do tego: ---- (gdb) set logging file /tmp/crash.txt (gdb) set logging on Copying output to /tmp/crash.txt. (gdb) bt full #0 0x00007f9dfb04a465 in raise () from /lib/libc.so.6 #1 0x00007f9dfb04b8e6 in abort () from /lib/libc.so.6 #2 0x0000000000437f66 in weechat_shutdown (return_code=1, crash=1) at /some_path/src/core/weechat.c:351 #3 #4 0x000000000044cb24 in hook_process_timer_cb (arg_hook_process=0x254eb90, remaining_calls=) at /some_path/src/core/wee-hook.c:1364 hook_process = 0x254eb90 status = #5 0x000000000044cc7d in hook_timer_exec () at /some_path/src/core/wee-hook.c:1025 tv_time = {tv_sec = 1272693881, tv_usec = 212665} ptr_hook = 0x2811f40 next_hook = 0x0 #6 0x000000000041b5b0 in gui_main_loop () at /some_path/src/gui/curses/gui-curses-main.c:319 hook_fd_keyboard = 0x173b600 tv_timeout = {tv_sec = 0, tv_usec = 0} read_fds = {fds_bits = {0 }} write_fds = {fds_bits = {0 }} except_fds = {fds_bits = {0 }} max_fd = ---- Musisz przekazać ten log developerom i powiedzieć im co spowodowało awarię. Dziękujemy za pomoc! [[debug_running_weechat]] ==== Debugowanie działającego WeeChat W celu debugowania działającego WeeChat (na przykład kiedy WeeChat wydaje się zawieszony), można użyć gdb podając in procesu (zastąp _12345_ numerem PID procesu weechat): ---- gdb /usr/bin/weechat 12345 ---- Następnie jak w przypadku awarii, użyj polecenia `bt full`: ---- (gdb) bt full ---- [[upgrade]] === Aktualizacja Jeśli zostanie wydana nowa stabilna wersja WeeChat należy zaktualizować się do tej wersji. Na samym początku musisz zainstalować nową wersje WeeChat albo za pomocą managera pakietów albo kompilując ją samemu, w taki sposób żeby plik wykonywalny `weechat` i wszystke wymagane pliki znajdowały się w tych samych ścieżkach. + Można to zrobić podczas działania WeeChat. [[upgrade_command]] ==== Komenda aktualizacji WeeChat może zostać ponownie uruchomiony z nowego pliku binarnego bez potrzeby jego wyłączania za pomocą komendy <>: zawartości buforów i połączenia nie SSL zostają zachowane. + Połączenia SSL są przerywane podczas aktualizacji i są automatycznie wznawiane po aktualizacji (przeładowanie sesji SSL nie jest obecnie wspierane przez GnuTLS). Komenda ta może zostać użyta również w momencie restartu maszyny, na przykład w celu aktualizacji kernela albo przeniesienia WeeChat na nową maszynę: ---- /upgrade -quit ---- Zapisuje to obecny stan w plikach `*.upgrade`. Możesz następnie wykonać restart lub przenieść cały katalog WeeChat (konfiguracja, dane, cache) na inną maszynę, następnie uruchomić WeeChat za pomocą polecenia: ---- $ weechat --upgrade ---- [[restart_after_upgrade]] ==== Restart po aktualizacji [[restart_release_notes]] ===== Informacje o wydaniu Po aktualizacji *zaleca się* przeczytanie https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[informacji o wydaniu], które zawierają ważne informacje o przełomowych zmianach i do zrobienia jakie mogą być wymagane. Powinieneś przeczytać informacje o zmianach dla wyszystkich wersji pomiędzy obecną a tą, do której aktualizujesz. + Na przykład aktualizując z wersji 3.0 do 3.2, musisz przeczytać informacje dla wersj 3.1 i 3.2. [[restart_configuration_upgrade]] ===== Aktualizacja konfiguracji WeeChat potrafi automatycznie aktualizować pliki konfiguracyjne (`*.conf`): * nowe opcje są dodawane z domyślnymi wartościami * niepotrzebne już opcje są automatycznie kasowane i WeeChat wyświetla ostrzeżenie z wartościami odczytanymi z pliku. Przykład ostrzeżenia o usuwanej opcji: ---- =!= Ostrzeżenie: /home/user/.config/weechat/sec.conf, linia 15: nieznana opcja dla sekcji "crypt": passphrase_file = "" ---- Oznaza to, że opcja `sec.crypt.passphrase_file` została usunięta i jej wartość była ustawiona na pusty ciąg, który był domyślną wartością w poprzednej wersji (w tym przypadku żadna dodatkowa akcja nie jest wymagana). [[usage]] == Używanie [[running_weechat]] === Uruchamianie WeeChat Żeby uruchomić WeeChat, wykonaj polecenie: ---- $ weechat ---- Podczas pierwszego uruchomienia WeeChat tworzone są domyślne pliki konfiguracyjne w _~/.config/weechat_ z domyślnymi opcjami i wartościami (zobacz <>). [[command_line_options]] ==== Argumenty linii poleceń include::includes/cmdline_options.pl.adoc[tag=standard] [[extra_debug_options]] ==== Dodatkowe opcje do debugowania [WARNING] Te opcje służą tylko do debugowania błędów, *NIE UŻYWAĆ NA PRODUKCJI!* include::includes/cmdline_options.pl.adoc[tag=debug] [[environment_variables]] === Zmienne środowiskowe Niektóre zmienne śwodowiskowe są używane przez WeeChat o ile zostały zdefiniowane: [width="100%",cols="1m,6",options="header"] |=== | Nazwa | Opis | WEECHAT_HOME | Katalog domowy WeeChat (z plikami konfiguracyjnymi, logami, skryptami, ...). Działa tak samo jak <> `WEECHAT_HOME`. | WEECHAT_PASSPHRASE | Hasło używane do odszyfrowania zabezpieczonych danych. | WEECHAT_EXTRA_LIBDIR | Dodatkowy katalog do ładowania wtyczek (z katalogu "plugins" znajdującego się pod tą ścieżką). |=== [[files_and_directories]] === Pliki i foldery [[xdg_directories]] ==== Katalogi XDG WeeChat domyślnie używa katalogów XDG (zgodnie ze specyfikacją: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html[XDG Base Directory Specification]). + Pojedynczy katalog może zostać wymuszony przez opcję CMake `WEECHAT_HOME`, zmienną środowiskową `WEECHAT_HOME` lub parametr z linii polecań `-d` / `--dir`. Kiedy jeden katalog domowy dla WeeChat nie zostanie wymuszony, używane zostają katalogi XDG z takim podziałem: [width="100%",cols="1,2m,5",options="header"] |=== | Katalog | Domyślna wartość | Wartość zapasowa | config | $XDG_CONFIG_HOME/weechat | `$HOME/.config/weechat` jeśli zmienna `$XDG_CONFIG_HOME` nie jest zdefiniowana albo jest pusta. | data | $XDG_DATA_HOME/weechat | `$HOME/.local/share/weechat` jeśli zmienna `$XDG_DATA_HOME` nie jest zdefiniowana albo jest pusta. | cache | $XDG_CACHE_HOME/weechat | `$HOME/.cache/weechat` jeśli zmienna `$XDG_CACHE_HOME` nie jest zdefiniowana albo jest pusta. | runtime | $XDG_RUNTIME_DIR/weechat | Taki sam jak katalog _cache_ jeśli zmienna `$XDG_RUNTIME_DIR` nie jest zdefiniowana albo jest pusta. |=== Pliki konfiguracyjne z domyślnymi wartościami są tworzone przy pierwszym uruchomieniu WeeChat. The configuration files are created with default values the first time you run WeeChat. [[weechat_directories]] ==== Katalogi WeeChat Katalogi używane przez WeeChat to: [width="100%",cols="1m,3",options="header"] |=== | Ścieżka ^(1)^ | Opis | ~/.config/weechat/ | Pliki konfiguracyjne WeeChat: `*.conf`, certifikaty, itp. | ~/.local/share/weechat/ | Pliki z danymi WeeChat: logi, skrypty, dane skryptów, pliki xfer, itp. |    logs/ | Pliki z logami (jeden na bufor). |    python/ | Skrypty pythonowe. |       autoload/ | Skrypty pythonowe automatycznie ładowane przy starcie ^(2)^. |    perl/ | Skrypty perlowe. |       autoload/ | Skrypty perlowe automatycznie ładowane przy starcie ^(2)^. |    ruby/ | Skrypty ruby. |       autoload/ | Skrypty ruby automatycznie ładowane przy starcie ^(2)^. |    lua/ | Skrypty lua. |       autoload/ | Skrypty lua automatycznie ładowane przy starcie ^(2)^. |    tcl/ | Skrypty tcl. |       autoload/ | Skrypty tcl automatycznie ładowane przy starcie ^(2)^. |    guile/ | Skrypty guile. |       autoload/ | Skrypry guile automatycznie ładowane przy starcie ^(2)^. |    javascript/ | Skrypty JavaScript. |       autoload/ | Skrypty JavaScript automatycznie ładowane przy starcie ^(2)^. |    php/ | Skrypty PHP. |       autoload/ | Skrypty PHP automatycznie ładowane przy starcie ^(2)^. | ~/.cache/weechat/ | Pliki pamięci podręcznej WeeChat: pliki pamięci podręcznej skryptów. | /run/user/1000/weechat/ | Pliki uruchomieniowe WeeChat: kolejki FIFO, Gniazda UNIX pośrednika. |=== [NOTE] ^(1)^ Katalogi XDG mogą się różnić w zależności od wartości zmiennych `XDG_*`. + ^(2)^ Ten folder zawiera przewazine linki symboliczne do plików w folderze nadrzędnym. [[weechat_files]] ==== Pliki WeeChat Pliki tworzone w katalogu domowym WeeChat: [width="100%",cols="1m,3,6",options="header"] |=== | Plik | Opis | Wrażliwe dane | weechat.conf | Główny plik konfiguracyjny WeeChat | Możliwe (przykład: lista kanałów w zapisanym układzie buforów). | sec.conf | Plik konfiguracyjny z zabezpieczonymi danymi | *Tak, bardzo wrażliwe*: Tym plikiem nie powinno się z nikim dzielić. | plugins.conf | Plik konfiguracyjny wtyczek | Możliwe, zależy od wtyczki/skryptu. | alias.conf | Plik konfiguracyjny wtyczki _alias_ | Możliwe, zależy od aliasu. | buflist.conf | Plik konfiguracyjny wtyczki _buflist_ | Nie. | charset.conf | Plik konfiguracyjny wtyczki _charset_ | Nie. | exec.conf | Plik konfiguracyjny wtyczki _exec_ | Nie. | fifo.conf | Plik konfiguracyjny wtyczki _fifo_ | Nie. | fset.conf | Plik konfiguracyjny wtyczki _fset_ | Nie. | guile.conf | Plik konfiguracyjny wtyczki _guile_ | Nie. | irc.conf | Plik konfiguracyjny wtyczki _irc_ | *Tak*: może zawierać hasła dla serwerów, nickserva i kanałów (jeśli nie zostały zapisane w `sec.conf`). | javascript.conf | Plik konfiguracyjny wtyczki _javascript_ | Nie. | logger.conf | Plik konfiguracyjny wtyczki _logger_ | Nie. | lua.conf | Plik konfiguracyjny wtyczki _lua_ | Nie. | perl.conf | Plik konfiguracyjny wtyczki _perl_ | Nie. | php.conf | Plik konfiguracyjny wtyczki _php_ | Nie. | python.conf | Plik konfiguracyjny wtyczki _python_ | Nie. | relay.conf | Plik konfiguracyjny wtyczki _relay_ | *Tak*: może on zawierać hasła pośredników i sekrety TOTP (jeśli nie zostały zapisane w `sec.conf`), dozwolone adresy IP/websockety oraz otwarte porty. | ruby.conf | Plik konfiguracyjny wtyczki _ruby_ | Nie. | script.conf | Plik konfiguracyjny wtyczki _script_ | Nie. | spell.conf | Plik konfiguracyjny wtyczki _spell_ | Nie. | tcl.conf | Plik konfiguracyjny wtyczki _tcl_ | Nie. | trigger.conf | Plik konfiguracyjny wtyczki _trigger_ | Możliwe, zależy od triggerów. | typing.conf | Plik konfiguracyjny wtyczki _typing_ | Nie. | xfer.conf | Plik konfiguracyjny wtyczki _xfer_ | Nie. | weechat.log | Plik z logami WeeChat | Nie. |=== [IMPORTANT] *Nie zaleca się* edytowania plików konfiguracyjnych ręcznie, ponieważ WeeChat może je nadpisać w dowolnym momencie (na przykład poprzez komende <>) oraz po wprowadzeniu ręcznie zmian należy użyć komendy <> (ryzykując utratę zmian, nie zapisanych za pomocą komendy <>). + Możesz użyć komendy <>, która sprawdza ustawianą wartość i od razu wprowadza zmiany. [[screen_layout]] === Układ ekranu Przykład terminala z WeeChat: .... ▼ bar "buflist" ▼ bar "title" ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #test, this is a test channel │ │ weechat│12:52:27 --> | Flashy (flashcode@weechat.org) has joined #test │@Flashy│ │2. #test│12:52:27 -- | Nicks #test: [@Flashy @joe +weebot peter] │@joe │ │3. #abc │12:52:27 -- | Channel #test: 4 nicks (2 ops, 1 voice, 1 normal) │+weebot│ │4. #def │12:52:27 -- | Channel created on Tue Jan 27 06:30:17 2009 │peter │ │5. #ghi │12:54:15 peter | hey! │ │ │ │12:55:01 @joe | hello │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 2:#test(+n){4}* [H: 3:#abc(2,5), 5] │ │ │[@Flashy(i)] hi peter!█ │ └──────────────────────────────────────────────────────────────────────────────────────┘ ▲ bars "status" and "input" bar "nicklist" ▲ .... Domyślnie ekran jest podzielony na następujące obszary: * obszar rozmowy (środek ekranu) z liniami rozmowy, zawierającymi: ** czas ** prefiks (przed "|") ** wiadomość (za "|") * paski dookoła obszaru rozmowy, domyślne paski to: ** pasek _buflist_, po lewej ** pasek _title_, nad obszarem rozmowy ** pasek _status_, pod obszarem rozmowy ** pasek _input_, pod paskiem statusu ** pasek _nicklist_, po prawej Pasek _buflist_ posiada następujące domyślne elementy: [width="100%",cols="^3,^3,9",options="header"] |=== | Element | Przykład | Opis | buflist | `1.weechat` | Lista buforów. |=== Pasek _title_ posiada następujące domyślne elementy: [width="100%",cols="^3,^3,9",options="header"] |=== | Element | Przykład | Opis | buffer_title | `Witaj na #test` | Tytuł buforu. |=== Pasek _status_ posiada następujące domyślne elementy: [width="100%",cols="^3,^3,9",options="header"] |=== | Element | Przykład | Opis | time | `[12:55]` | Czas. | buffer_last_number | `[5]` | Numer ostatniego buforu na liście. | buffer_plugin | `[irc/libera]` | Wtyczka dla obecnego bufora (wtyczka irc może dodać nazwę serwera IRC używanego przez bufor). | buffer_number | `2` | Numer obecnego buforu. | buffer_name | `#test` | Nazwa obecnego buforu. | buffer_modes | `+n` | Tryby kanału IRC. | buffer_nicklist_count | `{4}` | Ilość nicków wyświetlanych na liście nicków. | buffer_zoom | ! | `!` oznacza, że połączony bufor jest przybliżony (tylko ten jest wyświetlany), pusta wartość oznacza, że wszystkie połączone bufory są wyświetlane. | buffer_filter | `+*+` | Wskaźnik filtrowania: `+*+` oznacza, że niektóre linie zostały odfiltrowywane (ukryte), pusta wartość oznacza, że wszystkie linie są wyświetlane. | scroll | `-Więcej(50)-` | Wskaźnik przewijania, z numerem linii poniżej ostatniej wyświetlanej. | lag | `[Lag: 2.5]` | Wskaźnik opóźnienia, w sekundach (ukryty dla niskich opóźnień). | hotlist | `[H: 3:#abc(2,5), 5]` | Lista buforów z aktywnością (nieprzeczytane wiadomości) (w przykładzie, 2 podświetlenia i 5 nieprzeczytanych wiadomości w _#abc_, jedna wiadomość w buforze #5). | completion | `abc(2) def(5)` | Lista słów do dopełnienia, z ilością możliwych dopełnień dla każdego słowa. |=== Pasek _input_ posiada następujące domyślne elementy: [width="100%",cols="^3,^3,9",options="header"] |=== | Element | Przykład | Opis | input_prompt | `[@Flashy(i)]` | Input prompt, dla irc: nick i tryby (tryb "+i" oznacza niewidzialny na libera). | away | `(away)` | Wskaźnik nieobecności. | input_search | `[Szukam (~ str,msg)]` | Wskaźnik wyszukiwania ("`~`": wielkość liter ma znaczenie, "`==`": wielkość liter nie ma znaczenia, "`str`": wyszukiwanie ciągu, "`regex`": wyszukiwanie wyrażenia regularnego, "`msg`": wyszukiwanie w wiadomościach, "`pre`": wyszukiwanie w prefiksach, "`pre\|msg`": wyszukiwanie w prefiksach i wiadomościach). | input_paste | `[Wkleić 7 linii ? [ctrl-Y] Tak [ctrl-N] Nie]` | Pyta użytkownika podczas wklejania kilku linii tekstu. | input_text | `hi peter!` | Wprowadzony tekst. |=== Pasek _nicklist_ posiada następujące domyślne elementy: [width="100%",cols="^3,^3,9",options="header"] |=== | Element | Przykład | Opis | buffer_nicklist | `@Flashy` | Lita nicków w obecnym buforze. |=== Inne dostępne elementy (nie używane domyślnie w paskach): [width="100%",cols="^3,^3,9",options="header"] |=== | Element | Przykład | Opis | buffer_count | `10` | Liczba otwartych buforów. | buffer_last_number | `10` | Liczba najnowszych buforów (może się różnić od `buffer_count` jeśli opcja <> jest ustawiona na `off`). | buffer_nicklist_count_all | `4` | Liczba widocznych grup i nicków na nickliście. | buffer_nicklist_count_groups | `0` | Liczba widocznych grup na nickliście. | buffer_short_name | `#test` | Skrócona nazwa obecnego buforu. | buflist2 | `1.weechat` | Lista buforów, drugi element paska (zobacz opcję <>). | buflist3 | `1.weechat` | Lista buforów, trzeci element paska (zobac opcję <>). | fset | `+buflist.look.sort: …+` | Pomoc dla obecnie wybranej opcji w buforze fset. | irc_channel | `#test` | Nazwa bieżącego kanału IRC. | irc_host | `+user@host.com+` | Aktualny host IRC. | irc_nick | `+Flashy+` | Aktualny nick IRC. | irc_nick_host | `+Flashy!user@host.com+` | Aktualny nick i host IRC. | irc_nick_modes | `i` | Atrybuty IRC dla własnego nicka. | irc_nick_prefix | `@` | Prefiks nicku na kanale IRC. | mouse_status | `M` | Status obsługi myszy (pusty jeśli obsługa myszy jest wyłączona). | spell_dict | `fr,en` | Słowniki używane w obecnym buforze. | spell_suggest | `print,prone,prune` | Sugestie dla słowa pod kursorem (jeśli zawiera błąd). | tls_version | `TLS1.3` | Wersja TLS używana przez obecny serwer IRC. | window_number | `2` | Numer obecnego okna. |=== Każdy aspekt układu może zostać spersonalizowany za pomocą <>: <> do dostosowania pasków, <> i <> do dostosowania <>, i <> żeby nazwać, zapisać i przywrócić układ ekranu i powiązania między oknami i buforami. [[command_line]] === Linia poleceń Linia poleceń WeeChat (na dole okna) pozwala na wykonywanie komend lub wysłanie tekstu do bufora. [[command_line_syntax]] ==== Składnia Komendy zaczynają się od znaku "/", następnie wpisujemy komendę. Na przykład, aby zobaczyć listę wszystkich opcji: ---- /set ---- Tekst wysłany do buforu to dowolny tekst, który nie zaczyna się od znaku "/". Na przykład, żeby wysłać tekst _hello_ do obecnego buforu wystarczy: ---- hello ---- Jednak możliwe jest rozpoczęcie tekstu znakiem "/", wpisując go podwójnie. Na przykład, żeby wysłać tekst `/set` do obecnego buforu: ---- //set ---- [[command_line_colors]] ==== Kody kolorów Dla niektórych wtyczek jak IRC, można użyć kolorów i atrybutów w następujący sposób (wciśnij kbd:[Ctrl+c] następnie literę z opcjonalną wartością): [width="100%",cols="1,2",options="header"] |=== | Klawisz | Opis | kbd:[Ctrl+c], kbd:[b] | pogrubiony tekst | kbd:[Ctrl+c], kbd:[c], kbd:[xx] | kolor tekstu `xx` (zgodnie z poniższą listą kolorów) | kbd:[Ctrl+c], kbd:[c], kbd:[xx], kbd:[,], kbd:[yy] | kolor tekstu `xx` i tła `yy` (zgodnie z poniższą listą kolorów) | kbd:[Ctrl+c], kbd:[i] | pochyły tekst | kbd:[Ctrl+c], kbd:[o] | wyłącza kolory i atrybuty | kbd:[Ctrl+c], kbd:[v] | odwróć video (przywraca kolor tekstu i tła) | kbd:[Ctrl+c], kbd:[_] | podkreślony tekst |=== [NOTE] Ten sam sktót (bez numeru dla kbd:[Ctrl+c], kbd:[c]) może zostać użyty do zatrzymania atrybutu. Kody kolorów dla kbd:[Ctrl+c], kbd:[c]: include::includes/autogen_user_irc_colors.pl.adoc[tag=irc_colors] [NOTE] W celu wyświetlenia wszystkich dostępnych kolorów dla terminala możesz wykonać komendę `/color` następnie kbd:[Alt+c] (w WeeChat) lub wywołać w terminalu: `weechat --colors`. Przykład: wyświetlenie "hello Alice!" z pogrubionym jasno niebieskim "hello" i podkreślonym jasno czerwonym "Alice": ---- ^Cc12^Cbhello ^Cb^Cc04^C_Alice^C_^Cc! ---- Skróty klawiszowe: kbd:[Ctrl+c] kbd:[c] kbd:[1] kbd:[2] kbd:[Ctrl+c] kbd:[b] + kbd:[h] kbd:[e] kbd:[l] kbd:[l] kbd:[o] kbd:[Space] + kbd:[Ctrl+c] kbd:[b] kbd:[Ctrl+c] kbd:[c] kbd:[0] kbd:[4] kbd:[Ctrl+c] kbd:[pass:[_]] + kbd:[A] kbd:[l] kbd:[i] kbd:[c] kbd:[e] + kbd:[Ctrl+c] kbd:[pass:[_]] kbd:[Ctrl+c] kbd:[c] + kbd:[!] [NOTE] We wtyczce irc, można zmienić przypisania tych kolorów za pomocą opcji <>. [[colors]] === Kolory WeeChat może użyć do 32767 par kolorów do wyświetlania tekstu w paskach i obszarze rozmów (twój terminal musi wspierać do 256 par kolorów, aby użyć ich w WeeChat). Zgodnie z wartością zmiennej środowiskowej _TERM_, możesz posiadać następujące limity dla kolorów w WeeChat: [width="75%",cols="8,>3,>3",options="header"] |=== | $TERM | Kolory | Pary | "rxvt-unicode", "xterm", ... | 88 | 32767 | "rxvt-256color", "xterm-256color", ... | 256 | 32767 | "screen" | 8 | 64 | "screen-256color" | 256 | 32767 | "tmux" | 8 | 64 | "tmux-256color" | 256 | 32767 |=== Możesz wykonać `weechat --colors` lub użyć komendy `/color` w WeeChat, aby wyświetlić limity dla twojego środowiska. Niektóre z zalecanych wartości dla _TERM_ jeśli chcesz używać 256 kolorów: * dla screena: _screen-256color_ * pod tmux: _screen-256color_ lub _tmux-256color_ * poza screenem/tmuxem: _xterm-256color_, _rxvt-256color_, _putty-256color_, ... [NOTE] Być może konieczne jest zainstalowanie pakietu "ncurses-term", w celu użycia tych wartości dla zmiennej _TERM_. Jeśli używasz screena, możesz dodać to do swojego _~/.screenrc_: ---- term screen-256color ---- Jeśli wartość zmiennej _TERM_ ma złą wartość, a WeeChat jest już uruchomiony, możesz ją zmienić za pomocą tych dwóch komend: ---- /set env TERM screen-256color /upgrade ---- [[colors_basic]] ==== Podstawowe kolory Podstawowe kolory w WeeChat to: [width="75%",cols="1m,4",options="header"] |=== | Nazwa | Kolor | default | Domyślny kolor terminala (przezroczysty dla tła) | black | Czarny | darkgray | Ciemny szary | red | Ciemny czerwony | lightred | Jasny czerwony | green | Ciemny zielony | lightgreen | Jasny zielony | brown | Brązowy | yellow | Żółty | blue | Ciemny niebieski | lightblue | Jasny niebieski | magenta | Ciemny karmazynowy | lightmagenta | Jasny karmazynowy | cyan | Ciemny błękitny | lightcyan | Jasny błękitny | gray | Szary | white | Biały |=== [[colors_extended]] ==== Rozszerzone kolory WeeChat dynamicznie alokuje pary kolorów, kiedy kolory są używane na ekranie (do wyświetlania buforów i pasków). W dodatku do podstawowych kolorów, możesz użyć numer koloru pomiędzy 1 a limitem twojego terminala. Użyj komendy `/color`, aby zobaczyć obecne kolory i limity. Za pomocą kbd:[Alt+c] możesz tymczasowo przełączyć się na kolory terminala, żeby wybrać kolor. Na przykład jeśli chcesz wyświetlać czas na pomarańczowo w buforze: ---- /set weechat.color.chat_time 214 ---- Lub jeśli chcesz mocno ciemno zielonego tła dla pasku statusu: ---- /set weechat.bar.status.color_bg 22 ---- [[colors_aliases]] ==== Aliasy Możesz dodać aliasy do kolorów za pomocą komendy `/color alias` i używać ich w dowolnej opcji jako koloru. Na przykład: ---- /color alias 214 orange /set weechat.color.chat_delimiters orange ---- [[colors_attributes]] ==== Atrybuty Możliwe jest użycie niektórych atrybutów dla kolorów. Jeden lub więcej z nich może zostać użyty przed nazwą lub numerem koloru: * `+*+` : pogrubiony tekst * `+!+` : odwrócenie video * `+/+` : pochyły * `+_+` : podkreślony tekst * `+|+` : zachowaj atrybuty: nie resetuj pogrubienia/odwrócenia/pochylenia/podkreślenia, podczas zmiany koloru Na przykład jeśli chcesz, żeby twój nick był biały i podkreślony: ---- /set weechat.color.chat_nick_self _white ---- Lub jeśli chcesz, żeby czas w pasku statusu był pomarańczowy, podkreślony i pogrubiony: ---- /set weechat.color.status_time *_214 ---- Aby użyć atrybutu z domyślnym kolorem terminala (-1), należy użyć numeru większego od ostatniego koloru terminala, na przykład maksymalny kolor w WeeChat: 99999. Przykład pogrubienia z domyślnym kolorem terminala: ---- /set weechat.color.status_time *99999 ---- [[buffers_and_windows]] === Bufory i okna _Bufor_ posiada numer, nazwę, wyświetlane linie (i trochę innych danych). Przykłady buforów: * główny bufor (tworzony po uruchomieniu WeeChat, nie może zostać zamknięty) * serwer irc (wyświetla informacje z serwera) * kanał irc * prywatna rozmowa irc _Okno_ to obszar ekranu, w którym wyświetlane są bufory. Nie jest możliwe podzielenie ekranu na kilka okien (przykłady <>, szczegóły <>). Każde okno wyświetla jeden bufor. Bufor może zostać ukryty (nie wyświetlany w oknie) lub wyświetlany w jednym lub więcej oknach. Układy ekranu i powiązania między oknami i buforami mogą być <>. [[window_split_examples]] ==== Przykłady Przykład podziału poziomego (`/window splith`): .... ▼ window #2 (buffer #4) ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #def │ │ weechat│12:55:12 Max | hi │@Flashy│ │2. #test│12:55:20 @Flashy | hi Max! │Max │ │3. #abc │ │ │ │4. #def │ │ │ │5. #ghi │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 4:#def(+n){2} │ │ │[@Flashy] │ │ │────────────────────────────────────────────────────────────────────────────│ │ │Welcome to #abc │ │ │12:54:15 peter | hey! │@Flashy│ │ │12:55:01 @joe | hello │@joe │ │ │ │+weebot│ │ │ │peter │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n){4} │ │ │[@Flashy] hi peter!█ │ └──────────────────────────────────────────────────────────────────────────────────────┘ ▲ window #1 (buffer #3) .... Przykład podziału pionowego (`/window splitv`): .... ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #abc │Welcome to #def │ │ weechat│12:54:15 peter | hey! │@Flashy│12:55:12 Max | hi │@Flashy│ │2. #test│12:55:01 @joe | hello │@joe │12:55:20 @Flashy | hi Max! │Max │ │3. #abc │ │+weebot│ │ │ │4. #def │ │peter │ │ │ │5. #ghi │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n) │[12:55] [5] [irc/libera] 4:#def(+n) │ │ │[@Flashy] hi peter!█ │[@Flashy] │ └──────────────────────────────────────────────────────────────────────────────────────┘ ▲ window #1 (buffer #3) ▲ window #2 (buffer #4) .... Przykład podziałów pionowego i poziomego: .... ▼ window #3 (buffer #5) ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #abc │Welcome to #ghi │ │ weechat│12:54:15 peter | hey! │@Flashy│12:55:42 @Flashy | hi │@Flashy│ │2. #test│12:55:01 @joe | hello │@joe │12:55:56 alex | hi Flashy │alex │ │3. #abc │ │+weebot│ │ │ │4. #def │ │peter │ │ │ │5. #ghi │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 5:#ghi(+n) │ │ │ │ │[@Flashy] │ │ │ │ │──────────────────────────────────────│ │ │ │ │Welcome to #def │ │ │ │ │12:55:12 Max | hi │@Flashy│ │ │ │ │12:55:20 @Flashy | hi Max! │Max │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n) │[12:55] [5] [irc/libera] 4:#def(+n) │ │ │[@Flashy] hi peter!█ │[@Flashy] │ └──────────────────────────────────────────────────────────────────────────────────────┘ ▲ window #1 (buffer #3) ▲ window #2 (buffer #4) .... [[buffers]] === Buforów [[lines_format]] ==== Format linii Linie wyświetlane w formatowanych buforach maja następujące pola: [width="100%",cols="2,2,10",options="header"] |=== | Pole | Wyświetlane | Opis | data/czas (wiadomość) | Tak | Data/czas wiadomości (może być przeszła). | data/czas (wywietlenie) | Nie | Data/time, kiedy WeeChat wyświetlił wiadomość. | prefiks | Tak | Prefiks wiadomości, zazwyczaj nick. | wiadomość | Tak | Wiadomość. | wyświetlone | Nie | Boolean: true jeśli linia została wyświetlona, false jeśli linia została odfiltrowana komendą <>. | podświetlenie | Nie | Boolean: true jeśli linia ma podświetlenie, false w przeciwnym wypadku. | tagi | Przez `/debug tags` | Tagi powiązane z linią (zobacz <>). |=== Wyświetlanie linni może być zmienione za pomoćą wielu opcji wyglądu (_pass:[weechat.look.*]_) oraz koloru (_pass:[weechat.color.chat_*]_). [[lines_tags]] ==== Tagi linii WeeChat używa tagów w liniach dla różnych celów: * podświetleń * poziomu powiadomień * logowaia * użycia komendy <> Tagi można wyświetlić używając komendy `/debug tags` (tą samą komendą można je ukryć). Popularnie używane tagi (niepełna lista): [width="100%",cols="1m,4",options="header"] |=== | Tag | Opis | no_filter | Linia nie może być filtrowana. | no_highlight | Podświetlenia nie są dozwolone w tej linii. | no_log | Linia nie jest zapisywana w logu. | log0 … log9 | Poziom logowania dla linii (zobacz `/help logger`). | notify_none | Linia nie może być dodana do hotlisty. ^(1)^ | notify_message | Linia jest wiasomością użytkownika. ^(1)^ | notify_private | Linia jest wiadomością prywatną. ^(1)^ | notify_highlight | Linia jest wiadomością z podświetleniem. ^(1)^ | self_msg | Własna wiadomość. | nick_xxx | Wiadomość od nicku "xxx". | prefix_nick_ccc | Prefiks to nick o kolorze "ccc". | host_xxx | Nazwa użytkowniak i host w wiadomości. | irc_xxx | Wiadomość IRC "xxx" (komenda, albo 3 cyfrowy numer). | irc_numeric | Wiadomość numeryczna IRC. | irc_error | Błąd od erwera IRC. | irc_action | Akcja nicka (komenda `/me`). | irc_ctcp | Wiadomość CTCP. | irc_ctcp_reply | Odpowiedź na wiadomość CTCP. | irc_smart_filter | Wiadomość IRC, która może być filtrowana przez "inteligentny filtr". | away_info | Wiadomość z powodem nieobecności. |=== [NOTE] ^(1)^ Kiedy brak jest taga "notify_xxx", poziom jest ustawiony domyślnie na "low". Jeśli tag "notify_xxx" jest obecny, można zdefiniować odpowiedni poziom powiadomień, na przykład jeśli maksymalna hotlista jest używana dla nicku, poziom powiadomień może być niższy niż wartość dla tagu. [[local_variables]] ==== Zmienne lokalne Zmienne lokalne mogą być definiowane dla wsystkich buforów. Zmienna lokalna posiada: * nazwę (ciąg) * wartość (ciąg, może być pusty). Zmienne lokalne mogą być tworzone przez WeeChat, wtyczki, skrypty lub ręcznie w linii poleceń bufora. Na przykład, żeby dodać zmienna lokalną „completion_default_template” wystarczy polecenie: ---- /buffer setvar completion_default_template %(my_completion) ---- Żeby wyświetlić zmienne lokalne dla obecnego bufora: ---- /buffer listvar ---- Usunięcie zmiennej lokalnej „completion_default_template”: ---- /buffer delvar completion_default_template ---- WeeChat i jego wtyczki domyślnie tworzą następujące zmienne: [width="100%",cols="^2m,2,5",options="header"] |=== | Nazwa | Wartość | Opis | away | dowolny ciąg | Powód nieobecności na serwerze, ustawiane przez wtyczkę irc. | channel | dowolny ciąg | Nazwa kanału, ustawiana przez wtyczki irc/xfer i bufory z informacjami do debugowania wtyczek relay/trigger. | charset_modifier | dowolny ciąg | Modyfikacja kodowania używanego na kanale, ustawiane przez wtyczkę irc. | completion_default_template | dowolny ciąg | Domyślny szablon dopełnień dla bufora, nadpisuje zmienną `weechat.completion.default_template`. | filter | dowolny ciąg | Filtry zdefiniowane dla buforów jak `/fset`, `/server raw` (irc) i `/script`. | host | dowolny ciąg | Własny host (jeśli jest znany), ustawiane przez wtyczkę irc. | lag | dowolny ciąg | Opóźnienie serwera, ustawiane przez wtyczkę irc. | name | dowolny ciąg | Nazwa bufora (uważaj, nie jest to pełna nazwa i nie wystarczy ona do zidentyfikowania i wyszukania bufora). | nick | dowolny ciąg | Nazwa użytkownika, ustawiane przez wtyczki irc i xfer. | no_log | `1` (lub dowolny niepusty ciąg) | Jeśli jest ustawiona, wiadomości z bufora nie są logowane. | plugin | dowolny ciąg | Nazwa wtyczki, która stworzyła bufor (`core` dla buforów WeeChat). | script_close_cb | dowolny ciąg | Callback zamykania bufora zdefiniowany przez skrypt. | script_close_cb_data | dowolny ciąg | Dane dla callbacka zamykania bufora zdefiniowane przez skrypt. | script_input_cb | dowolny ciąg | Callback wprowadzania danych w buforze zdefiniowany przez skrypt. | script_input_cb_data | dowolny ciąg | Dane dla callbacka wprowadzania danych w buforze zdefiniowane przez skrypt. | script_name | dowolny ciąg | Nazwa skryptu, który stworzył bufor. | server | dowolny ciąg | Nazwa serwera ustawiana przez wtyczkę irc albo bufor z informacjami do debugowania wtyczki relay/trigger. | spell_suggest | dowolny ciąg | Źle napisane słowo i sugestie (format: "słowo:sugestie"), ustawiane przez wtyczkę spell. | trigger_filter | dowolny ciąg | Filtr triggerów, ustawiany przez wtyczkę trigger. | type | dowolny ciąg, na przykład: `channel`, `debug`, `exec`, `option`, `private`, `relay`, `script`, `server`, `user`, `xfer` | Typ bufora ustawiany przez WeeChat i wiele wtyczek. |=== [NOTE] External plugins and scripts can define and use other local variables. [[bars]] === Paski _Pasek_ to obszar poza rozmową, mogący zawierać dowolny rodzaj tekstu. Opcje paska mogą być ustawiane za pomocą opcji `weechat.bar.nazwa.opcja`, gdzie `nazwa` to nazwa paska i `opcja` to opcja dla tego paska. Lista opcji dla pasków: [width="100%",cols="2m,2,10",options="header"] |=== | Opcja | Wartości | Opis | type | `root`, `window` | Pasek z typem `root` jest wyświetlany dokładnie jeden raz na ekranie, poza wszystkimi oknami. Domyślny pasek _buflist_ ma typ `root`. + Pasek z typem `window` wyświetlany jest w każdym oknie, na przykład jeśli podzielisz jednorazowo ekran (używając `/window splith` lun `/window splitv`) otrzymasz po jednym pasku w każdym oknie. Domyślnie paski _title_, _status_, _input_ i _nicklist_ mają typ `window`. | position | `top`, `bottom`, `left`, `right` | Pozycja paska: powyżej/poniżej ekranu rozmowy, po jego lewej/prawej stronie. | priority | integer ≥ 0 | Priorytet wyświetlania paska: jest on używany do uporządkowania pasków na ekranie, kiedy więcej niż jeden pasek posiada ten sam typ i położenie. + Paski są wyświetlane od brzegu do środka ekranu. Paski z wyższym priorytetem zostaną wyświetlone na początku, czyli bliżej krawędzi. + Przykład: pasek _input_ ma priorytet 1000, dlatego jest wyświetlany przed paskiem _status_, który ma priorytet 500. | size | integer ≥ 0 | Rozmiar paska: ilość kolumn dla pozycji lewo/prawo, numer linii dla pozycji góra/dół. Rozmiar `0` oznacza automatyczny - rozmiar zostanie wyliczony zgodnie z wyświetlaną zawartością. | size_max | integer ≥ 0 | Maksymalny rozmiar paska, `0` = brak limitu (opcja ta jest używana tylko jeśli `size` = 0). | color_bg | color | Domyślny kolor tła paska. | color_fg | color | Domyślny kolor tekstu na pasku. | color_delim | color | Kolor separatorów na pasku. | hidden | `on`, `off` | Kiedy ta opcja jest ustawiona na `on`, pasek jest ukrywany. + Uwaga: zamiast zmiany tej opcji zaleca się użycie komendy `/bar`, na przykład: `/bar toggle nicklist` (zobacz komendę <> po więcej informacji). | separator | `on`, `off` | Kiedy ta opcja jest ustawiona na `on`, separator (linia) jest wyświetlany pomiędzy tym paskiem a pozostałymi (lub oknem rozmowy). | items | string | Lista _elementów_ (zobacz <> po więcej informacji). | filling_left_right | `+horizontal+`, `+vertical+`, `+columns_horizontal+`, `+columns_vertical+` | Typ wypełnienia paska dla pozycji o pozycji `left` lub `right` (zobacz <> po więcej informacji). | filling_top_bottom | `+horizontal+`, `+vertical+`, `+columns_horizontal+`, `+columns_vertical+` | Typ wypełnienia paska dla pozycji o pozycji `top` lub `bottom` (zobacz <> po więcej informacji). | conditions | string | Warunki wyświetlania paska (zobacz <> po więcej informacji). |=== [[bar_items]] ==== Elementy Opcja _items_ jest ciągiem z listą elementów paska oddzielonych przecinkiem (spacja pomiędzy elementami na ekranie) lub `+++` (elementy sklejone). Lista wszystkich elementów paska jest wyświetlana za pomocą komendy `/bar listitems`. Przed i za nazwą elementu można używać znaków (nie będących alfanumerycznymi, `+-+` lub `+_+`). Będą one wyświetlane przed/za elementem z kolorem separatorów zdefiniowanych dla paska (opcja _color_delim_). Przykład paska z elementami "[time],buffer_number+:+buffer_plugin+.+buffer_name": .... ┌───────────────────────────────────────────────────────────────────────────┐ │[12:55] 3:irc/libera.#weechat │ └───────────────────────────────────────────────────────────────────────────┘ .... Specjalna składnia może zostać użyta, żeby wymusić bufor używany do wyświetlenia elementów paska: "@bufor:element" (gdzie "bufor" to pełna nazwa bufora i "element" to nazwa elementu paska). Jest to przydatne w paskach typu `root` do wyświetlania elementów dla konkretnych buforów, które nie są wyświetlane w obecnym oknie (lub nawet nie wyświetlanych w ogóle). Przykład: lista nicków dla bitlbee w pasku `root` (jeśli pasek nazywa się _bitlist_ i serwer bitlbee nazywa sie _bitlbee_): ---- /set weechat.bar.bitlist.items "@irc.bitlbee.&bitlbee:buffer_nicklist" ---- [[bar_filling]] ==== Wypełnienie Są cztery typy wypełnień: * `+horizontal+`: elementy są wyświetlane poziomo, od lewej do prawej. Jeśli w elementach występują nowe linie, odstęp jest używany do ich oddzielenia. * `+vertical+`: elementy są wyświetlane od góry do dołu. Jeśli w elementach występują nowe linie, do ich oddzielenia używana jest nowa linia. * `+columns_horizontal+`: elementy są wyświetlane z użyciem kolumn, gdzie tekst tekst jest wyrównany do lewej. Pierwszy element znajduje się na górze z lewej, kolejny w tej samej linii z prawej. * `+columns_vertical+`: elementy są wyświetlane z użyciem kolumn, gdzie tekst tekst jest wyrównany do lewej. Pierwszy element znajduje się na górze z lewej, kolejny jest linię niżej. Domyślne paski _title_, _status_ i _input_ mają wypełnienie _horizontal_, domyślny pasek _nicklist_ ma wypełnienie _vertical_. Przykłady wypełnień paska _nicklist_: .... ┌───────────────────────────────────────────────────────────────────────┐ │Welcome to #test, this is a test channel │ │12:54:15 peter | hey! │@carl │ │12:55:01 +Max | hello │@jessika│ │ │@maddy │ │ │%Diego │ │ │%Melody │ │ │+Max │ │ │ celia │ │ │ Eva │ │ │ freddy │ │ │ Harold^│ │ │ henry4 │ │ │ jimmy17│ │ │ jodie ▼│ │[12:55] [6] [irc/libera] 3:#test(+n){24} │ │[@carl] █ │ └───────────────────────────────────────────────────────────────────────┘ filling_left_right = vertical ▲ ┌───────────────────────────────────────────────────────────────────────┐ │Welcome to #test, this is a test channel │ │12:54:15 peter | hey! │@carl lee │ │12:55:01 +Max | hello │@jessika louise │ │ │@maddy mario │ │ │%Diego mark │ │ │%Melody peter │ │ │+Max Rachel │ │ │ celia richard│ │ │ Eva sheryl │ │ │ freddy Vince │ │ │ Harold^ warren │ │ │ henry4 zack │ │ │ jimmy17 │ │ │ jodie │ │[12:55] [6] [irc/libera] 3:#test(+n){24} │ │[@carl] █ │ └───────────────────────────────────────────────────────────────────────┘ filling_left_right = columns_vertical ▲ ┌───────────────────────────────────────────────────────────────────────┐ │@carl %Diego celia Harold^ jodie mario Rachel Vince │ │@jessika %Melody Eva henry4 lee mark richard warren │ │@maddy +Max freddy jimmy17 louise peter sheryl zack │ │───────────────────────────────────────────────────────────────────────│ │ │ filling_top_bottom = columns_vertical ▲ ┌───────────────────────────────────────────────────────────────────────┐ │@carl @jessika @maddy %Diego %Melody +Max celia Eva │ │ freddy Harold^ henry4 jimmy17 jodie lee louise mario │ │ mark peter Rachel richard sheryl Vince warren zack │ │───────────────────────────────────────────────────────────────────────│ │ │ filling_top_bottom = columns_horizontal ▲ .... [[bar_conditions]] ==== Warunki Opcja _conditions_ jest jest przetwarzana w celu sprawdzenia czy pasek ma być wyświetlony czy nie. Dostępne opcje: * _active_: okno musi być aktywne * _inactive_: okno musi być nieaktywne * _nicklist_: bufor wyświetlany w oknie musi mieć listę nicków * wyrażenie: jest wykonywane jako wyrażenie logiczne (zobacz komendę <>) Dla wyrażeń dostępne są następujące zmienne: * `+${active}+`: prawda, jeśli okno jest aktywne * `+${inactive}+`: prawda, jeśli okno jest nieaktywne * `+${nicklist}+`: prawda, jeśli okno posiada listę nicków Następujące wskaźniki są dostępne: * `+${window}+`: okno, dla którego warunek jest sprawdzany * `+${buffer}+`: bufor okna, dla którego warunek jest sprawdzany Przykład pokazujący pasek z listą nicków we wszystkich buforach, które mają ją włączoną i tylko jeśli szerokość terminala jest > 100: ---- /set weechat.bar.nicklist.conditions "${nicklist} && ${info:term_width} > 100" ---- Ten sam warunek, ale lista nicków jest zawsze wyświetlana w buforze _&bitlbee_ (nawet jeśli jest mały): ---- /set weechat.bar.nicklist.conditions "${nicklist} && (${info:term_width} > 100 || ${buffer.full_name} == irc.bitlbee.&bitlbee)" ---- [[bare_display]] === Niesformatowany ekran Specjalny ekran nazywany "bare display" może zostać użyty do łatwego kliknięcia w długi adres URL i zaznaczania tekstu (za pomocą myszy). Tryb niesformatowanego ekranu posiada następujące cechy: * wyświetlana jest tylko zawartość obecnego bufora: bez podziału okna i pasków (brak tematu, listy nicków, statusu, wejścia, ...) * wsparcie dla myszy w WeeChat jest wyłączone (jeśli zostało włączone): możesz używać myszy jak w normalnym terminalu do klikania w adresy URL i zaznaczania tekstu * ncurses nie jest używane, dlatego URLe nie są obcinane z końcem linii. Domyślnym skrótem uruchamiającym ten tryb jest kbd:[Alt+l] (`L`), tak jak wyłączającym go (lub domyślnie dowolna zmiana wejścia spowoduje wyjście z tego trybu, zobacz <>). Format czasu może zostać dostosowany za pomocą opcji <>. Tryb ten może być włączony również na specyficzny czas za pomocą komendy <>. Jeśłi WeeChat wygląda następująco: .... ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Welcome to #abc │ │ weechat│12:52:27 --> | Flashy (flashcode@weechat.org) has joined #abc │@Flashy│ │2. #test│12:52:27 -- | Nicks #abc: [@Flashy @joe +weebot peter] │@joe │ │3. #abc │12:52:27 -- | Channel #abc: 4 nicks (2 ops, 1 voice, 1 normal) │+weebot│ │4. #def │12:52:27 -- | Channel created on Tue Jan 27 06:30:17 2009 │peter │ │5. #ghi │12:54:15 peter | hey! │ │ │ │12:55:01 @joe | peter: hook_process: https://weechat.org/files/doc │ │ │ │ | /devel/weechat_plugin_api.en.html#_weechat_hook_pr │ │ │ │ | ocess │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n){4} │ │ │[@Flashy(i)] hi peter!█ │ └──────────────────────────────────────────────────────────────────────────────────────┘ .... Ekran w trybie niesformatowanego wyświetlania będzie wyglądać tak: .... ┌──────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │12:52 --> Flashy (flashcode@weechat.org) has joined #abc │ │12:52 -- Nicks #abc: [@Flashy @joe +weebot peter] │ │12:52 -- Channel #abc: 4 nicks (2 ops, 1 voice, 1 normal) │ │12:52 -- Channel created on Tue Jan 27 06:30:17 2009 │ │12:54 hey! │ │12:55 <@joe> peter: hook_process: https://weechat.org/files/doc/devel/weechat_plugin_a│ │pi.en.html#_weechat_hook_process │ └──────────────────────────────────────────────────────────────────────────────────────┘ .... Możesz więc kliknąć w URL od _joe_ bez żadnych problemów w swoim terminalu (jeśli twój terminal wspiera klikanie w URLe). [[notify_levels]] === Poziomy powiadomień [[setup_notify_levels]] ==== Ustawienia poziomu powiadomień Dostępne są cztery poziomy dla wiadomości wyświetlanych w buforach, od najniższego do najwyższego: * _low_: wiadomości mało istotne (na przykład dla irc join/part/quit) * _message_: wiadomość od użytkownika * _private_: wiadomość w buforze prywatnym * _highlight_: wiadomość z powiadomieniem Każdy bufor posiada poziom powiadomień, który decyduje o tym, jakie wiadomości zostaną dodane do bufora w hotliście. Domyślny poziom powiadomień można ustawić za pomocą opcji <>, domyślna wartość to _all_. [width="75%",cols="2m,7",options="header"] |=== | Poziom powiadomień | Poziom wiadomości dodawanej do hotlisty | none | (brak) | highlight | _highlight_ + _private_ | message | _highlight_ + _private_ + _message_ | all | _highlight_ + _private_ + _message_ + _low_ |=== Poziom powiadomień może być definiowany dla zestawu buforów, na przykład dla wszystkich buforów serwera irc "libera": ---- /set weechat.notify.irc.libera message ---- Ustawienie poziomu powiadomień na _highlight_ tylko dla kanału "#weechat": ---- /set weechat.notify.irc.libera.#weechat highlight ---- Poziom powiadomień dla bufora może zostać ustawiony za pomocą komendy `/buffer`: ---- /buffer notify highlight ---- [[max_hotlist_level_nicks]] ==== Maksymalny poziom hotlisty dla nicków Jest możliwe ustawienie maksymalnego poziomu hotlist dla nicków, dla bufora lub grupy buforów (jak erwery IRC). Właściwość bufora "hotlist_max_level_nicks" może być ustawiona na listę nicków, z ustawonym dla każdego z nich maksymalnym poziomem hotlisty, możliwe poziomy to: * -1: brak zmiany hotlisty dla nicka * 0: niski priorytet (jak wiadomości join/part) * 1: wiadomość * 2: prywatna wiadomość * 3: podświetlenie (mało przydatne, jest to domyślny poziom dla wszytkich wiadomości) Na przykład, żeby wyłączyć podświetlenia od "joe" oraz "mike" w obecnym buforze: ---- /buffer set hotlist_max_level_nicks_add joe:2,mike:2 ---- [NOTE] Właściwość bufora "hotlist_max_level_nicks" nie jest zapisywana w konfiguracji. + Można ją zapisać za pomocą skryptu _buffer_autoset.py_: można go zaintalować za pomocą `+/script install buffer_autoset.py+`, informacje o używaniu `+/help buffer_autoset+`. [[highlights]] === Podświetlenia [[highlights_words]] ==== Dodawanie słów do podświetleń Domyślnie WeeChat podświetla wiadomości od innych użytkowników zawierające Twój nick, dlatego podświetlenia zależą od buforu (nick może być inny w zależności od buforu). Możesz dodawać inne słowa do podświetlen używając opcji <>, na przykład, żeby podświetlać Twój nick oraz słowa "słowo1", "słowo2" oraz wszystko co zaczyna się od "test": ---- /set weechat.look.highlight słowo1,słowo2,test* ---- Jeżeli potrzebujesz bardziej przecyzyjnej reguły, możesz użyć wyrażenia reglarnego używając opcji <>, na przydład do podświetlania słów "flashcode", "flashcöde" i "flashy": ---- /set weechat.look.highlight_regex flashc[oö]de|flashy ---- Separatory do okoła podświetlanych słów można zmienić za pomocą opcji <>. [[highlights_tags]] ==== Dodawanie tagów do podświetleń Wyświetlane linie moga zawierać "tagi", które dają troche informacji o pochodzeniu wiasomości lub o samej wiadmości. + Możesz wyświetlić tagi za pomocą komendy `/debug tags` (ta sama komenda je ukrywa). Możesz dodać konkretne tagi do podświetleń za pomocą opcji <>. Tagi są oddzielane przecinkami, kilka tagów może być oddzielone przez `+++` dla wykonania logicznego "i" między nimi. Na przykład dla podświetlenia wszytkich wiadomości od nicka "FlashCode" oraz powiadomień od nicków zaczynających się od "toto": ---- /set weechat.look.highlight_tags "nick_flashcode,irc_notice+nick_toto*" ---- [[highlights_regex_buffer]] ==== Ustawianie dodatkowych podświetleń dla bufora Możesz wymusić podświetlenia używając wyrażenia regularnego z właściwościa bufora "highlight_regex". Na przykład żeby wymusić podświetlenie dla wszytkich wiadomości w obecnym buforze: ---- /buffer set highlight_regex .* ---- [NOTE] Właściwość bufora "highlight_regex" nie jest zapisywana w konfiguracji. + Można ją zapisać za pomocą skryptu _buffer_autoset.py_: można go zaintalować za pomocą `+/script install buffer_autoset.py+`, informacje o używaniu `+/help buffer_autoset+`. [[key_bindings]] === Domyślne skróty klawiszowe [[key_bindings_command_line]] ==== Skróty dla linii poleceń [width="100%",cols="^.^3,.^8,.^5",options="header"] |=== | Skrót | Opis | Komenda | kbd:[←] + kbd:[Ctrl+b] | Idź do poprzedniego znaku w linii poleceń. | `+/input move_previous_char+` | kbd:[→] + kbd:[Ctrl+f] | Idź do następnego znaku w linii poleceń. | `+/input move_next_char+` | kbd:[Ctrl+←] + kbd:[Alt+b] | Idź do poprzedniego słowa w linii poleceń. | `+/input move_previous_word+` | kbd:[Ctrl+→] + kbd:[Alt+f] | Idź do następnego słowa w linii poleceń. | `+/input move_next_word+` | kbd:[Home] + kbd:[Ctrl+a] | Idź na początek linii poleceń. | `+/input move_beginning_of_line+` | kbd:[End] + kbd:[Ctrl+e] | Idź na koniec linii poleceń. | `+/input move_end_of_line+` | kbd:[Ctrl+c], kbd:[b] | Wstaw kod dla pogrubionego tekstu. | `+/input insert \x02+` | kbd:[Ctrl+c], kbd:[c] | Wstaw kod dla kolorowego tekstu. | `+/input insert \x03+` | kbd:[Ctrl+c], kbd:[i] | Wstaw kod dla pochyłego tekstu. | `+/input insert \x1D+` | kbd:[Ctrl+c], kbd:[o] | Wstaw kod dla zresetowania koloru. | `+/input insert \x0F+` | kbd:[Ctrl+c], kbd:[v] | Wstaw kod dla odwrócenia koloru. | `+/input insert \x16+` | kbd:[Ctrl+c], kbd:[_] | Wstaw kod dla podkreślonego tekstu. | `+/input insert \x1F+` | kbd:[Del] + kbd:[Ctrl+d] | Usuń następny znak w linii poleceń. | `+/input delete_next_char+` | kbd:[Backsp.] + kbd:[Ctrl+h] | Usuń poprzedni znak w linii poleceń. | `+/input delete_previous_char+` | kbd:[Ctrl+k] | Usuń od znacznika kursora do końca linii poleceń (usuwany ciąg jest kopiowany do wewnętrznego schowka). | `+/input delete_end_of_line+` | kbd:[Ctrl+r] | Wyszukaj tekst w historii bufora (zobacz <>). | `+/input search_text_here+` | kbd:[Ctrl+t] | Przestaw znaki. | `+/input transpose_chars+` | kbd:[Ctrl+u] | Usuń od znaku kursora do początku linii poleceń (usuwany ciąg jest kopiowany do wewnętrznego schowka). | `+/input delete_beginning_of_line+` | kbd:[Ctrl+w] | Usuń poprzednie słowo w linii poleceń (usuwany ciąg jest kopiowany do wewnętrznego schowka). | `+/input delete_previous_word+` | kbd:[Ctrl+y] | Wkleja zawartość wewnętrznego schowka. | `+/input clipboard_paste+` | kbd:[Ctrl+_] | Cofnij poprzednia akcję w linii poleceń. | `+/input undo+` | kbd:[Alt+_] | Powtórz ostatnią akcję w linii poleceń. | `+/input redo+` | kbd:[Tab] | Dopełnij komendę lub nick (ponowne wciśnięcie kbd:[Tab]: znajdź następne dopełnienie). | `+/input complete_next+` | kbd:[Shift+Tab] | Bez dopełnienia: wykonaj częściowe dopełnienie, z oczekującym dopełnieniem: dopełnij z poprzednim dopełnieniem. | `+/input complete_previous+` | kbd:[Enter] + kbd:[Ctrl+j] + kbd:[Ctrl+m] | Wykonaj komendę lub wyślij wiadomość (w trybie wyszukiwania: przerwij wyszukiwanie). | `+/input return+` | kbd:[Alt+Enter] | Wstawia nową linię. | `+/input insert \n+` | kbd:[↑] | Pokaż poprzednią komendę/wiadomość (w trybie wyszukiwania: szukaj w górę). | `+/input history_previous+` | kbd:[↓] | Pokaż następną komendę/wiadomość (w trybie wyszukiwania: szukaj w dół). | `+/input history_next+` | kbd:[Ctrl+↑] | Pokaż poprzednią komendę/wiadomość w historii globalnej (wspólnej dla wszystkich buforów). | `+/input history_global_previous+` | kbd:[Ctrl+↓] | Pokaż następną komendę/wiadomość w historii globalnej (wspólnej dla wszystkich buforów). | `+/input history_global_next+` | kbd:[Alt+d] | Usuń następne słowo w linii poleceń (usuwany ciąg jest kopiowany do wewnętrznego schowka). | `+/input delete_next_word+` | kbd:[Alt+k] | Przechwyć wciśnięte klawisze i zwróć ich kod (i przypisaną komendę, jeśli istnieje) w linii poleceń. | `+/input grab_key_command+` | kbd:[Alt+r] | Usuń całą zawartość linii poleceń. | `+/input delete_line+` | kbd:[Alt+s] | Włącz/wyłącz sprawdzenie pisowni. | `+/mute spell toggle+` |=== [[key_bindings_buffers_windows]] ==== Skróty dla buforów / okien [width="100%",cols="^.^3,.^8,.^5",options="header"] |=== | Skrót | Opis | Komenda | kbd:[Ctrl+l] (`L`) | Przerysuj całe okno. | `+/window refresh+` | kbd:[Ctrl+s], kbd:[Ctrl+u] | Ustaw znacznik nieprzeczytania we wszystkich buforach. | `+/input set_unread+` | kbd:[Ctrl+x] | Przełącz obecny bufor jeśli bufory są dołączone z tym samym numerem. | `+/input switch_active_buffer+` | kbd:[Alt+x] | Pokaż wybrany z połączonych buforów (naciśnij kbd:[Alt+x] ponownie: wyświetl wszystkie połączone bufory). | `+/input zoom_merged_buffer+` | kbd:[PgUp] | Przewiń jedną stronę w górę w historii bufora. | `+/window page_up+` | kbd:[PgDn] | Przewiń jedną stronę w dół w historii bufora. | `+/window page_down+` | kbd:[Alt+PgUp] | Przewiń w górę kilka linii w historii bufora. | `+/window scroll_up+` | kbd:[Alt+PgDn] | Przewiń w dół kilka linii w historii bufora. | `+/window scroll_down+` | kbd:[Alt+Home] | Przewiń na górę bufora. | `+/window scroll_top+` | kbd:[Alt+End] | Przewiń na dół bufora. | `+/window scroll_bottom+` | kbd:[F1] + kbd:[Ctrl+F1] | Przewiń do góry jedną stronę na liście buforów. | `+/bar scroll buflist * -100%+` | kbd:[F2] + kbd:[Ctrl+F2] | Przewiń w dół jedną stronę na liście buforów. | `+/bar scroll buflist * +100%+` | kbd:[Alt+F1] | Idź na początek listy buforów. | `+/bar scroll buflist * b+` | kbd:[Alt+F2] | Idź na koniec listy buforów. | `+/bar scroll buflist * e+` | kbd:[Alt+←] + kbd:[Alt+↑] + kbd:[Ctrl+p] + kbd:[F5] | Przełącz na poprzedni bufor. | `+/buffer -1+` | kbd:[Alt+→] + kbd:[Alt+↓] + kbd:[Ctrl+n] + kbd:[F6] | Przełącz na następny bufor. | `+/buffer +1+` | kbd:[F7] | Przełącz na poprzednie okno. | `+/window -1+` | kbd:[F8] | Przełącz na następne okno. | `+/window +1+` | kbd:[F9] | Przewiń tytuł bufora w lewo. | `+/bar scroll title * -30%+` | kbd:[F10] | Przewiń tytuł bufora w prawo. | `+/bar scroll title * +30%+` | kbd:[F11] + kbd:[Ctrl+F11] | Przewiń w górę jedna stronę listy nicków. | `+/bar scroll nicklist * -100%+` | kbd:[F12] + kbd:[Ctrl+F12] | Przewiń w dół jedna stronę listy nicków. | `+/bar scroll nicklist * +100%+` | kbd:[Alt+F11] | Idź na początek listy nicków. | `+/bar scroll nicklist * b+` | kbd:[Alt+F12] | Idź na koniec listy nicków. | `+/bar scroll nicklist * e+` | kbd:[Alt+a] | Przełącz na następny bufor z aktywnością (z priorytetem: powiadomienie, wiadomość, inne). | `+/input jump_smart+` | kbd:[Alt+Shift+B] | Przełącza widoczność listy buforów. | `+/buflist toggle+` // TRANSLATION MISSING | kbd:[Alt+h], kbd:[Alt+c] | Clear hotlist (activity notification on buffers). | `+/input hotlist_clear+` // TRANSLATION MISSING | kbd:[Alt+h], kbd:[Alt+m] | Remove current buffer from hotlist. | `+/input hotlist_remove_buffer+` // TRANSLATION MISSING | kbd:[Alt+h], kbd:[Alt+r] | Restore latest hotlist removed in the current buffer. | `+/input hotlist_restore_buffer+` // TRANSLATION MISSING | kbd:[Alt+h], kbd:[Alt+Shift+R] | Restore latest hotlist removed in all buffers. | `+/input hotlist_restore_all+` | kbd:[Alt+j], kbd:[Alt+f] | Przełącz na pierwszy bufor. | `+/buffer -+` | kbd:[Alt+j], kbd:[Alt+l] (`L`) | Przełącz na ostatni bufor. | `+/buffer ++` | kbd:[Alt+j], kbd:[Alt+r] | Przełącz na bufor IRC raw. | `+/server raw+` | kbd:[Alt+j], kbd:[Alt+s] | Przełącz na bufor serwera IRC. | `+/server jump+` | kbd:[Alt+0...9] | Przełącz na bufor za pomocą liczb (0 = 10). | `+/buffer *N+` | kbd:[Alt+j], kbd:[01...99] | Przełącz na bufor za pomocą liczb. | `+/buffer *NN+` | kbd:[Alt+l] (`L`) | Przełącz tryb niesformatowanego wyświetlania. | `+/window bare+` | kbd:[Alt+m] | Przełącz obsługę myszy. | `+/mouse toggle+` | kbd:[Alt+n] | Przewiń do następnego powiadomienia. | `+/window scroll_next_highlight+` | kbd:[Alt+Shift+N] | Przełącza widoczność paska z listą nicków. | `+/bar toggle nicklist+` | kbd:[Alt+p] | Przewiń do poprzedniego powiadomienia. | `+/window scroll_previous_highlight+` | kbd:[Alt+u] | Przewiń do pierwszej nieprzeczytanej linii w buforze. | `+/window scroll_unread+` | kbd:[Alt+w], kbd:[Alt+↑] | Przełącz na okno wyżej. | `+/window up+` | kbd:[Alt+w], kbd:[Alt+↓] | Przełącz na okno niżej. | `+/window down+` | kbd:[Alt+w], kbd:[Alt+←] | Przełącz na okno z lewej. | `+/window left+` | kbd:[Alt+w], kbd:[Alt+→] | Przełącz na okno z prawej. | `+/window right+` | kbd:[Alt+w], kbd:[Alt+b] | Balansuj rozmiar wszystkich okien. | `+/window balance+` | kbd:[Alt+w], kbd:[Alt+s] | Zamień bufory między dwoma oknami. | `+/window swap+` | kbd:[Alt+z] | Pokaż obecne okno (ponowne wciśnięcie kbd:[Alt+z]: przywraca wcześniejszy układ okien). | `+/window zoom+` | kbd:[Alt+<] | Przełącz na poprzedni bufor z listy odwiedzonych buforów. | `+/input jump_previously_visited_buffer+` | kbd:[Alt+>] | Przełącz na następny bufor z listy odwiedzonych buforów. | `+/input jump_next_visited_buffer+` | kbd:[Alt+/] | Przełącz na ostatnio wyświetlony bufor (przed ostatnią zmianą bufora). | `+/input jump_last_buffer_displayed+` | kbd:[Alt+=] | Włącz/wyłącz filtry. | `+/filter toggle+` | kbd:[Alt+-] | Włącz/wyłącz filtry w bieżącym buforze. | `+/filter toggle @+` |=== [[key_bindings_search_context]] ==== Skróty dla kontekstu wyszukiwania Te skróty są używane w kontekście wyszukiwania (kiedy kombinacja kbd:[Ctrl+r] zostanie wciśnięta w buforze tekstowym). [width="100%",cols="^.^3,.^8,.^5",options="header"] |=== | Skrót | Opis | Komenda | kbd:[Ctrl+r] | Przełącz rodzaj wyszukiwania: ciąg (domyślne), wyrażenie regularne. | `+/input search_switch_regex+` | kbd:[Alt+c] | Przełącz dopasowywanie wielości liter podczas wyszukiwania. | `+/input search_switch_case+` | kbd:[Tab] | Przełącz miejsce wyszukiwania: wiadomości (domyślne), prefiksy, prefiksy + wiadmości. | `+/input search_switch_where+` | kbd:[↑] | Poprzednie wystąpienie. | `+/input search_previous+` | kbd:[↓] | Następne wystąpienie. | `+/input search_next+` | kbd:[Enter] + kbd:[Ctrl+j] + kbd:[Ctrl+m] | Zatrzymaj wyszukiwanie na obecnej pozycji. | `+/input search_stop_here+` | kbd:[Ctrl+q] | Zatrzymaj wyszukiwanie i przewin na spód bufora. | `+/input search_stop+` |=== [[key_bindings_cursor_context]] ==== Skróty dla kontekstu kursora Te skróty są używane s kontekście kursora (dowolne przemieszczanie kursora na ekranie). [width="100%",cols="^.^3,^.^2,.^7,.^7",options="header"] |=== | Skrót | Obszar | Opis | Komenda | kbd:[↑] | - | Przesuń kursor linię wyżej. | `+/cursor move up+` | kbd:[↓] | - | Przesuń kursor linię niżej. | `+/cursor move down+` | kbd:[←] | - | Przesuń kursor kolumnę w lewo. | `+/cursor move left+` | kbd:[→] | - | Przesuń kursor kolumnę w prawo. | `+/cursor move right+` | kbd:[Alt+↑] | - | Przesuń kursor obszar do góry. | `+/cursor move area_up+` | kbd:[Alt+↓] | - | Przesuń kursor obszar w dół. | `+/cursor move area_down+` | kbd:[Alt+←] | - | Przesuń kursor obszar w lewo. | `+/cursor move area_left+` | kbd:[Alt+→] | - | Przesuń kursor obszar w prawo. | `+/cursor move area_right+` | kbd:[m] | chat | Cytuj wiadomość. | `+hsignal:chat_quote_message;/cursor stop+` | kbd:[q] | chat | Cytuj prefiks i wiadomość. | `+hsignal:chat_quote_prefix_message;/cursor stop+` | kbd:[Q] | chat | Cytuj czas, prefiks i wiadomość. | `+hsignal:chat_quote_time_prefix_message;/cursor stop+` | kbd:[b] | nicklist | Zbanuj osobę. | `+/window ${_window_number};/ban ${nick}+` | kbd:[k] | nicklist | Wykop osobę. | `+/window ${_window_number};/kick ${nick}+` | kbd:[K] | nicklist | Wykop i zbanuj osobę. | `+/window ${_window_number};/kickban ${nick}+` | kbd:[q] | nicklist | Otwórz rozmowę z osobą. | `+/window ${_window_number};/query ${nick};/cursor stop+` | kbd:[w] | nicklist | Wykonaj whois dla osoby. | `+/window ${_window_number};/whois ${nick}+` | kbd:[Enter] + kbd:[Ctrl+j] + kbd:[Ctrl+m] | - | Wyłącz tryb kursora. | `/cursor stop` |=== [[key_bindings_mouse_context]] ==== Skróty dla kontekstu myszy Te skróty używane są w kontekście myszy, w momencie wystąpienia zdarzenia myszy. [width="100%",cols="^.^3,^.^3,^.^3,.^8,.^8",options="header"] |=== | Klawisz/Wheel ^(1)^ | Gest | Obszar | Opis | Komenda | ◾◽◽ | - | chat | Przełącz na okno. | `+/window ${_window_number}+` | ◾◽◽ | lewo | chat | Przełącz na poprzedni bufor. | `+/window ${_window_number};/buffer +1+` | ◾◽◽ | prawo | chat | Przełącz na następny bufor. | `+/window ${_window_number};/buffer +1+` | ◾◽◽ | lewo (długo) | chat | Przełącz na pierwszy bufor. | `+/window ${_window_number};/buffer 1+` | ◾◽◽ | prawo (długo) | chat | Przełącz na ostatni bufor. | `+/window ${_window_number};/input jump_last_buffer+` | kbd:[▲] | - | chat | Przewiń w górę kilka linii w historii bufora. | `+/window scroll_up -window ${_window_number}+` | kbd:[▼] | - | chat | Przewiń w dół kilka linii w historii bufora. | `+/window scroll_down -window ${_window_number}+` | kbd:[Ctrl+▲] | - | chat | Przewiń poziomo w lewo. | `+/window scroll_horiz -window ${_window_number} -10%+` | kbd:[Ctrl+▼] | - | chat | Przewiń poziomo w prawo. | `+/window scroll_horiz -window ${_window_number} +10%+` | kbd:[▲] | - | chat: bufor fset | Przewiń pięć linii w góre w buforze fset. | `+/fset -up 5+` | kbd:[▼] | - | chat: bufor fset | Przewiń pięć linii w dół w buforze fset. | `+/fset -down 5+` | ◾◽◽ | - | chat: bufor fset | Zaznacz linię b buforze fset. | `+/window ${_window_number};/fset -go ${_chat_line_y}+` | ◽◽◾ | - | chat: bufor fset | Przełącz (włącz/wyłącz) lub edytuj wartośc opcji. | `+hsignal:fset_mouse+` | ◽◽◾ | left | chat: bufor fset | Zmniejsz wartość zmiennej liczbowej / koloru, ustaw/rozszerz wartośc innego typu. | `+hsignal:fset_mouse+` | ◽◽◾ | right | chat: bufor fset | Zwiększ wartość zmiennej liczbowej / koloru, ustaw/rozszerz wartośc innego typu. | `+hsignal:fset_mouse+` | ◽◽◾ | up / down | chat: bufor fset | Zaznacz/odznacz wiele opcji. | `+hsignal:fset_mouse+` | kbd:[▲] | - | chat: bufor skryptów | Przejdź 5 linii w górę w buforze skryptów. | `+/script up 5+` | kbd:[▼] | - | chat: bufor skryptów | Przejdź 5 linii w dół w buforze skryptów. | `+/script down 5+` | ◾◽◽ | - | chat: bufor skryptów | Zaznacz linię w buforze skryptów. | `+/script go ${_chat_line_y}+` | ◽◽◾ | - | chat: bufor skryptów | Zainstaluj/usuń skrypt. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+` | ◾◽◽ | góra / lewo | buflist | Przenieś bufor na niższy numer. | Sygnał `+buflist_mouse+`. | ◾◽◽ | dół / prawo | buflist | Przenieś bufor na wyższy numer. | Sygnał `+buflist_mouse+`. | ◾◽◽ | - | buflist | Przełącz na bufor (poprzednio odwiedzony bufor, jeśli jest to obecny bufor). | Sygnał `+buflist_mouse+`. | ◽◽◾ | - | buflist | Przełącz na następny odwiedzony bufor, jeśli jest to obecny bufor. | Sygnał `+buflist_mouse+`. | kbd:[Ctrl+▲] | - | buflist | Przełącz na poprzedni bufor. | Sygnał `+buflist_mouse+`. | kbd:[Ctrl+▼] | - | buflist | Przełącz na następny bufor. | Sygnał `+buflist_mouse+`. | ◾◽◽ | góra | lista nicków | Przewiń w górę jedna stronę listy nicków. | `+/bar scroll nicklist ${_window_number} -100%+` | ◾◽◽ | dół | lista nicków | Przewiń w dół jedna stronę listy nicków. | `+/bar scroll nicklist ${_window_number} +100%+` | ◾◽◽ | góra (długo) | lista nicków | Idź na początek listy nicków. | `+/bar scroll nicklist ${_window_number} b+` | ◾◽◽ | dół (długo) | lista nicków | Idź na koniec listy nicków. | `+/bar scroll nicklist ${_window_number} e+` | ◾◽◽ | - | lista nicków | Otwórz prywatną rozmowę z nick. | `+/window ${_window_number};/query ${nick}+` | ◽◽◾ | - | lista nicków | Wykonaj whois dla nicka. | `+/window ${_window_number};/whois ${nick}+` | ◾◽◽ | lewo | lista nicków | Wykop nick. | `+/window ${_window_number};/kick ${nick}+` | ◾◽◽ | lewo (długo) | lista nicków | Wykop i zbanuj nick. | `+/window ${_window_number};/kickban ${nick}+` | ◽◽◾ | lewo | lista nicków | Zbanuj nick. | `+/window ${_window_number};/ban ${nick}+` | ◽◽◾ | - | linia poleceń | Przechwyć zdarzenie myszy i wstaw jego kod w linii poleceń. | `+/input grab_mouse_area+` | kbd:[▲] | - | dowolny pasek | Przewiń pasek o -20%. | `+/bar scroll ${_bar_name} ${_window_number} -20%+` | kbd:[▼] | - | dowolny pasek | Przewiń pasek o +20%. | `+/bar scroll ${_bar_name} ${_window_number} +20%+` | ◽◾◽ | - | gdziekolwiek | Włącz tryb kursora w tym miejscu. | `+/cursor go ${_x},${_y}+` |=== [NOTE] ^(1)^ kbd:[▲] i kbd:[▼] to przewijanie rolką myszy w górę i w dół. [[key_bindings_fset_buffer]] ==== Skróty klawiszowe dla bufora fset Poniższe skróty i akcje mogą zostać użyte w buforze fset (zobacz <>). [width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"] |=== | Skrót | Akcja ^(1)^ | Opis | Komenda | kbd:[↑] | | Przejdź linię wyżej. | `+/fset -up+` | kbd:[↓] | | Przejdź linię niżej. | `+/fset -down+` | kbd:[PgUp] | | Przejdź stronę do góry. | `+/window page_up+` | kbd:[PgDn] | | Przejdź stronę w dół. | `+/window page_down+` | kbd:[Alt+Home] | `pass:[<<]` | Przejdź do pierwszej linii. | `+/fset -go 0+` | kbd:[Alt+End] | `pass:[>>]` | Przejdź do ostatniej linii. | `+/fset -go end+` | kbd:[F11] | `pass:[<]` | Przewiń poziomo w lewo. | `+/fset -left+` | kbd:[F12] | `pass:[>]` | Przewiń poziomo w prawo. | `+/fset -right+` | kbd:[Alt+Space] | `t` | Przełącz zmienną boolowską. | `+/fset -toggle+` | kbd:[Alt+-] | `-` | Odejmij 1 od wartości liczbowej/koloru, ustaw wartość pozostałych typów. | `+/fset -del -1+` | kbd:[Alt++] | `+` | Dodaj 1 do wartości liczbowej/koloru, dodaj to wartości pozostałych typów. | `+/fset -add 1+` | kbd:[Alt+f], kbd:[Alt+r] | `r` | Zresetuj wartość. | `+/fset -reset+` | kbd:[Alt+f], kbd:[Alt+u] | `u` | Skasuj wartość. | `+/fset -unset+` | kbd:[Alt+Enter] | `s` | Ustaw wartość. | `+/fset -set+` | kbd:[Alt+f], kbd:[Alt+n] | `n` | Ustaw nową wartość. | `+/fset -setnew+` | kbd:[Alt+f], kbd:[Alt+a] | `a` | Dodaj do wartości. | `+/fset -append+` | kbd:[Alt+,] | `,` | Zaznacz/odznacz opcję. | `+/fset -mark 1+` | kbd:[Shift+↑] | | Przejdź do linii wyżej oraz zaznacz/odznacz opcję. | `+/fset -up; /fset -mark+` | kbd:[Shift+↓] | | Przejdź do linii niżej oraz zaznacz/odznacz opcję. | `+/fset -mark; /fset -down+` | | `m:xxx` | Zaznacz wyświetlane opcje pasujące do filtra "xxx" (dowolny filtr na opcję albo wartość, zobacz <>). | | | `u:xxx` | Odznacz zaznaczone opcje pasujące do filtra "xxx" (dowolny filtr an opcję lub wartość, zobacz <>). | | kbd:[Ctrl+l] (`L`) | | Odświerz opcje i cały ekran. | `+/fset -refresh+` | | `$` | Odświerz opcje (zachowuje zaznaczone opcje). | | | `$$` | Odświerz opcje (odznacza zaznaczone kompilację). | | kbd:[Alt+p] | | Przełącz opcje opisu wtyczki (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+` | kbd:[Alt+v] | | Przełącz pasek pomocy. | `+/bar toggle fset+` | | `s:x,y` | Sortuj opcje po polach x,y (zobacz opcję <>). | `+/mute /set fset.look.sort x,y+` | | `s:` | Zresetuj soerowanie do domyślnej wartości (zobacz opcję <>). | `+/mute /unset fset.look.sort+` | | `w:xxx` | Wyeksportuj opcje do pliku "xxx". | `+/fset -export xxx+` | | `w-:xxx` | Wyeksportuj opcje do pliku "xxx" bez dodatkowych informacji. | `+/fset -export -nohelp xxx+` | | `w+:xxx` | Wyeksportuj opcje do pliku "xxx" z dodatkowymi informacjami. | `+/fset -export -help xxx+` | kbd:[Ctrl+x] | `x` | Zmień format w jakim wyświetlane są opcje. | `+/fset -format+` | | `q` | Zamkknij bufor fset. | `+/buffer close+` |=== [NOTE] ^(1)^ Akcja musi zostać wprowadzona z linii poleceń i potwierdzona przez kbd:[Enter]. [[key_bindings_script_buffer]] ==== Skróty klawiszowe w buforze skryptów Te skróty klawiszowe i akcje mogą zostać użyte w oknie skryptów (zobacz <>). [width="100%",cols="^.^3,^.^2,.^8,.^5",options="header"] |=== | Skrót | Akcja ^(1)^ | Opis | Komenda | kbd:[↑] | | Przejdź linię wyżej. | `+/script up+` | kbd:[↓] | | Przejdź linię niżej. | `+/script down+` | kbd:[PgUp] | | Przewiń stronę do góry. | `+/window page_up+` | kbd:[PgDn] | | Przewiń stronę w dół. | `+/window page_down+` | kbd:[Alt+i] | `i` | Zainstaluj skrypt. | `+/script install+` | kbd:[Alt+r] | `r` | Usuń skrypt. | `+/script remove+` | kbd:[Alt+l] (`L`) | `l` | Załaduj skrypt. | `+/script load+` | kbd:[Alt+u] | `u` | Wyładuj skrypt. | `+/script unload+` | kbd:[Alt+Shift+A] | `A` | Automatycznie ładuj skrypt. | `+/script toggleautoload+` | kbd:[Alt+h] | `h` | Zablokuj/odblokuj skrypt. | `+/script hold+` | kbd:[Alt+v] | `v` | Pokarz skrypt. | `+/script show+` |=== [NOTE] ^(1)^ Akcja musi zostać wprowadzona z linii poleceń i potwierdzona przez kbd:[Enter]. [[mouse]] === Wsparcie myszy WeeChat obsługuje kliknięcia myszy i gesty. Działa to z lokalnym terminalem, jak i zdalnie przez połączenie ssh z lub bez użycia screena/tmuxa. [[mouse_enable]] ==== Włączenie obsługi myszy Żeby włączyć obsługę myszy podczas uruchamiania: ---- /set weechat.look.mouse on ---- Żeby włączyć obsługę myszy teraz, wciśnij kbd:[Alt+m] lub wykonaj komendę: ---- /mouse enable ---- Możliwe jest czasowe wyłączenie obsługi myszy i przypisanie tego do skrótu. Na przykład skrót kbd:[Alt+%] wyłączający obsługę myszy na 10 sekund: ---- /key bind meta-% /mouse toggle 10 ---- [IMPORTANT] Kiedy obsługa myszy jest włączona w WeeChat, wszystkie zdarzenia myszy są przechwytywane przez WeeChat. Dlatego akcje jak kopiowanie/wklejanie lub klikanie w URLe nie są przesyłane do terminala. + Użycie klawisza kbd:[Shift] sprawia, że te zdarzenia są przesyłane bezpośrednio do terminala, tak jakby obsługa myszy była wyłączona (w niektórych terminalach jak iTerm, należy użyc klawisza kbd:[Alt] zamiast kbd:[Shift]). [NOTE] W razie jakichkolwiek problemów z obsługą myszy, zajrzyj do link:weechat_faq.pl.html#mouse[WeeChat FAQ / Obsługa myszy]. [[mouse_bind_events]] ==== Przypisanie zdarzeń myszy do komend Wiele domyślnych zdarzeń myszy jest już zdefiniowanych w WeeChat (zobacz <>). Możesz zmienić lub dodać przypisania za pomocą komendy `/key` używając kontekstu "mouse" (dla składni zobacz komenda <>). Nazwa zdarzenia zawiera modyfikator (opcjonalny), nazwę klawisza/rolki i gest (opcjonalny). Różne elementy są rozdzielane przez `+-+`. Lista modyfikatorów: [width="100%",cols="1m,4",options="header"] |=== | Modyfikator | Opis | ctrl | Klawisz kbd:[Ctrl] | alt | Klawisz kbd:[Alt] | ctrl-alt | Klawisze kbd:[Ctrl] + kbd:[Alt] |=== Lista klawiszy/rolek: [width="100%",cols="1m,4",options="header"] |=== | Klawisz/rolka | Opis | button1 | Lewy klawisz myszy | button2 | Prawy klawisz myszy | button3 | Środkowy klawisz myszy (często naciśnięcie rolki) | button4 ... button9 | Dodatkowe klawisze | wheelup | Rolka (w górę) | wheeldown | Rolka (w dół) |=== Lista gestów (tylko dla klawiszy, nie rolki): [width="100%",cols="1m,4",options="header"] |=== | Gest | Odległość | gesture-up | 3 ... 19 | gesture-up-long | ≥ 20 | gesture-down | 3 ... 19 | gesture-down-long | ≥ 20 | gesture-left | 3 ... 39 | gesture-left-long | ≥ 40 | gesture-right | 3 ... 39 | gesture-right-long | ≥ 40 |=== Lista niedkończonych zdarzeń (tylko dla przycisków, użyteczne dla wtyczek/skryptów): [width="100%",cols="1m,4",options="header"] |=== | Zdarzenie | Opis | event-down | Klawisz został wciśnięty ale jeszcze nie puszczony | event-drag | Mysz została przesunięta z wciśniętym klawiszem |=== Przykłady zdarzeń: * `button1` * `ctrl-button1` * `button1-gesture-right` * `button1-event-down` * `button1-event-drag` * `alt-button2-gesture-down-long` * `wheelup` * `ctrl-alt-wheeldown` * ... [TIP] Podczas przypisywania skrótów w kontekście myszy, możliwe jest dopasowanie wielu zdarzeń używając `+*+` na początku lub końcu nazwy, na przykład `+button1-gesture-*+` będzie pasować do gestów wykonanych z użyciem lewego przycisku myszy. [TIP] Możesz znaleźć nazwę zdarzenia za pomocą komendy `+/input grab_mouse+` wykonując następnie zdarzenie za pomocą myszy. Umieści to zdarzenie w linii poleceń. [[secured_data]] === Zabezpieczone dane [[secured_data_storage]] ==== Przechowywanie WeeChat umie szyfrować hasła lub prywatne dane i przechowuje je w pliku _sec.conf_. Plik ten jest odczytywany przed wszystkimi innymi plikami i wartości przechowywane w nim mogą być użyte w różnych opcjach WeeChat jak i wtyczek/skryptów. Możesz ustawić hasło dla danych zaszyfrowanych w pliku _sec.conf_. Nie jest to obowiązkowe ale wysoce zalecane, w przeciwnym wypadku dane są zapisywane jako zwykły tekst. ---- /secure passphrase to jest moje hasło ---- [[secured_data_passphrase_on_startup]] ===== Hasło przy uruchomieniu Kiedy ustawione jest hasło WeeChat poprosi o nie podczas uruchomieina (ale nie podczas `/upgrade`). Jeśli używasz managera haseł, możesz uruchomić zewnętrzny program do odczytania hasła bez konieczności wprowadzania go ręcznie przy utuchomieniu WeeChat. + Na przykład dla password-store (komenda `pass`): ---- /set sec.crypt.passphrase_command "/usr/bin/pass show weechat/passphrase" ---- Program może poprosić o odblokowanie klucza GPG lub wprowadzenie innego hasła, aby odczytać sekret. WeeChat poczeka do zakończenia komendy i odczyta hasło ze standardowego wyjścia (musi to być w pierwszej linii bez żadnych dodatkowych znaków). + Jeśli wyjście programu nie zawiera hasla lub jest ono błęde, WeeChat poprosi i jego wprowadzenie. [[secured_data_encryption]] ===== Szyfrowanie Szyfrowanie danych odbywa się w 3 krokach: . Pozyskanie klucza z hasła (z opcjonalną solą). . Wyliczenia hasha danych do zaszyfrowania. . Szyfrowanie hash + dane (wynik to: sól + zaszyfrowany hash/dane). [NOTE] Tryb blokowy szyfru to _CFB_. Wynik jest zapisywany jako ciąg heksadecymalny w pliku _sec.conf_, na przykład: ---- [data] __passphrase__ = on libera = "53B1C86FCDA28FC122A95B0456ABD79B5AB74654F21C3D099A6CCA8173239EEA59533A1D83011251F96778AC3F5166A394" ---- [[secured_data_decryption]] ===== Deszyfrowanie Deszyfrowanie danych odbywa się w 3 krokach: . Pozyskanie klucza za pomocą soli i hasła. . Deszyfrowanie hash + dane. . Sprawdzenie czy odszyfrowany hash == hash danych. [[secured_data_manage]] ==== Zarządzanie zabezpieczonymi danymi W celu dodania bezpiecznych danych użyj `/secure set`, na przykład hasło dla serwera IRC _libera_: ---- /secure set libera mojehasło ---- Dla wygody, zabezpieczone dane mogą być wyświetlone w dedykowanym buforze (kbd:[Alt+v] w buforze, w celu wyświetlenia wartości), po prostu wykonaj: ---- /secure ---- Bezpieczne dane mogą zostać użyte w opcjach zawierających prywatne dane jak hasła, za pomocą formatu: "${sec.data.xxx}", gdzie "xxx" to nazwa zabezpieczonych danych (utworzone za pomocą `/secure set xxx ...`). + Pełną listę dostępnych opcji można uzyskać wykonując `/help secure`. W celu użycia hasła _libera_, na przykład z <>: ---- /set irc.server.libera.sasl_password "${sec.data.libera}" ---- [[commands_and_options]] === Komendy i opcje [[weechat_commands]] ==== Komendy WeeChat include::includes/autogen_user_commands.pl.adoc[tag=weechat_commands] [[sec_options]] ==== Opcje dla bezpiecznych danych Sekcje w pliku _sec.conf_: [width="100%",cols="3m,6m,16",options="header"] |=== | Sekcja | Komenda | Opis | crypt | /set sec.crypt.* | Opcje szyfrowania. | data | <> | Zabezpieczone dane. |=== Opcje: include::includes/autogen_user_options.pl.adoc[tag=sec_options] [[weechat_options]] ==== Opcje WeeChat Sekcje w pliku _weechat.conf_: [width="100%",cols="3m,6m,16",options="header"] |=== | Sekcja | Komenda | Opis | debug | <> + /set weechat.debug.* | Poziom debugowania dla rdzenia i wtyczek (opcje mogą być dodawane/usuwane w sekcji). | startup | /set weechat.startup.* | Opcje dla startu aplikacji. | look | /set weechat.look.* | Wygląd. | palette | <> + /set weechat.palette.* | Aliasy kolorów (opcje mogą być dodawane/usuwane w sekcji). | color | /set weechat.color.* | Kolory. | completion | /set weechat.completion.* | Opcje dopełnień. | history | /set weechat.history.* | Opcje historii (komend i buforów). | proxy | <> + /set weechat.proxy.* | Opcje proxy. | network | /set weechat.network.* | Opcje sieci/SSL. | plugin | /set weechat.plugin.* | Opcje wtyczek. | signal | /set weechat.signal.* | Opcje sygnałów. | bar | <> + /set weechat.bar.* | Opcje pasków. | layout | <> | Układy. | notify | <> | Poziomy powiadomień dla buforów (opcje mogą być dodawane/usuwane w sekcji). | filter | <> | Filtry. | key | <> | Skróty klawiszowe dla domyślnego kontekstu. | key_search | <> | Skróty klawiszowe dla kontekstu wyszukiwania. | key_cursor | <> | Skróty klawiszowe dla kontekstu kursora. | key_mouse | <> | Skróty klawiszowe dla kontekstu myszy. |=== Opcje: include::includes/autogen_user_options.pl.adoc[tag=weechat_options] [[plugins]] == Wtyczki Wtyczka jest biblioteka dynamiczną, napisaną w C i skompilowaną, która jest ładowana przez WeeChat. W systemach GNU/Linux plik ma rozszerzenie ".so", w Windowsie ".dll". Znalezione wtyczki są automatycznie ładowane podczas uruchamiania WeeChat, możliwe jest również ładowanie lub wyładowywanie wtyczek podczas pracy WeeChat. Ważne jest, aby odróżniać _wtyczkę_ od _skryptu_: _wtyczka_ jest to plik binarny skompilowany i ładowany za pomocą polecenia `/plugin`, natomiast _skrypt_ to plik tekstowy, ładowany za pomocą wtyczki jak na przykład _python_ za pomocą polecenia `/python`. Możesz użyć komendy `/plugin` żeby załadować/wyładować wtyczkę, lub wyświetlić wszystkie załadowane wtyczki. Podcza wyładowywania wtyczki WeeChat usówa: * bufory * opcje konfiguracyjne (options są zapisywane w plikach) * wszystkie hooki: komendy, modyfikatory, procesy, etc. * infos i infolists * hdata * elementy pasków. Przykłady ładowania, wyładowywania i wyświetlania załadowanych wtyczek: ---- /plugin load irc /plugin unload irc /plugin list ---- Domyślne wtyczki: [width="100%",cols="1,5",options="header"] |=== | Wtyczka | Opis | alias | Definiuje aliasy dla komend. | buflist | Element paska z listą buforów. | charset | Ustawianie kodowania dla buforów. | exec | Wykonuje zewnętrzną komendę z poziomu WeeChat. | fifo | Kolejka FIFO używana do zdalnego wysyłania poleceń dla WeeChat. | fset | Szybkie ustawianie opcji WeeChat i wtyczek. | irc | Protokół IRC. | logger | Logowanie zawartości buforów do plików. | relay | Przekazuje dane przez sieć. | script | Zarządzanie skryptami. | python | Wsparcie dla skryptów napisanych w Pythonie. | perl | Wsparcie dla skryptów napisanych w Perlu. | ruby | Wsparcie dla skryptów napisanych w Ruby. | lua | Wsparcie dla skryptów napisanych w Lua. | tcl | Wsparcie dla skryptów napisanych w Tcl. | guile | Wsparcie dla skryptów napisanych w Guile (scheme). | javascript | Wsparcie dla skryptów napisanych w JavaScript. | php | Wsparcie dla skryptów napisanych w PHP. | spell | Sprawdzanie pisowni w linii poleceń. | trigger | Zamiana tekstu i wykonywanie komend dla zdarzeń wywołanych przez WeeChat/wtyczki. // TRANSLATION MISSING | typing | Display users currently writing messages. | xfer | Przesyłanie plików i bezpośredni chat. |=== Więcej informacji o wtyczkach i tworzeniu skryptów (przez API), można znaleźć w link:weechat_plugin_api.en.html[Opisie API wtyczek] (Angielski) i link:weechat_scripting.pl.html[Poradniku pisania skryptów]. [[alias_plugin]] === Alias Wtyczka alias pozwala tworzyć aliasy dla komend (z WeeChat lub innych wtyczek). Niektóre aliasy tworzone są domyślnie z nazwami pisanymi wielkimi literami (żeby można było je odróżnić od standardowch poleceń); komendy w WeeChat nie rozróżniają wielkości znaków dlatego na przykład `/close` wywoła alias `/CLOSE`. Lista domyślnych aliasów: include::includes/autogen_user_default_aliases.pl.adoc[tag=default_aliases] [[alias_commands]] ==== Komendy include::includes/autogen_user_commands.pl.adoc[tag=alias_commands] [[alias_options]] ==== Options Ssekcje w pliku _alias.conf_: [width="100%",cols="3m,6m,16",options="header"] |=== | Sekcja | Komenda | Opis | cmd | <> + /set alias.cmd.* | Commands for aliases. | completion | <> + /set alias.completion.* | Completions for aliases. |=== [[buflist_plugin]] === Buflist Wtyczka buflist wyświetla listę buforów w elemencie paska nazwanym "buflist" (dostępne są również dwa dodatkowe elementy "buflist2" oraz "buflist3"). + Domyślny pasek "buflist" jest tworzony podczas uruchomieina z włączoną wtyczką. [[buflist_commands]] ==== Komendy include::includes/autogen_user_commands.pl.adoc[tag=buflist_commands] [[buflist_options]] ==== Options Sekcje w pliku _buflist.conf_: [width="100%",cols="3m,6m,16",options="header"] |=== | Sekcja | Komenda | Opis | format | /set buflist.format.* | Formaty użyte do wyświetlania listy buforów. | look | /set buflist.look.* | Wygląd elementów na liście buforów. |=== Opcje: include::includes/autogen_user_options.pl.adoc[tag=buflist_options] [[charset_plugin]] === Charset Wtyczka charset pozwala na zmianę kodowania dla wysyłanych i otrzymywanych danych. Można zdefiniować domyślne kodowanie, oraz dla poszczególnych buforów (lub grup buforów). Ta wtyczka jest opcjonalna, jednak zalecana: jeśli nie jest załadowana WeeChat może odczytywać/zapisywać dane tylko w UTF-8. Ta wtyczka powinna zostać automatycznie załadowana przy uruchomieniu WeeChat. Aby się upewnić, że została załadowana, spróbuj: ---- /charset ---- Jeśli komenda nie zostanie znaleziona, załaduj tą wtyczkę za pomocą: ---- /plugin load charset ---- Jeśli wtyczka nie zostanie znaleziona, powinieneś skompilować ponownie WeeChat z wtyczkami i wsparciem dla charset. Kiedy wtyczka charset zostanie uruchomiona wyświetla kodowanie terminala i. wewnętrzne. Kodowanie terminala zależy od ustawień systemu, a wewnętrzne to UTF-8. Na przykład: .... charset: terminal: ISO-8859-15, internal: UTF-8 .... [[charset_set]] ==== Ustawianie kodowania Żeby ustawić globalne kodowanie dla wysyłanych i otrzymywanych danych należy użyć komendy `/set`. Na przykład: ---- /set charset.default.decode ISO-8859-15 /set charset.default.encode ISO-8859-15 ---- Jeżeli globalna wartość dla kodowania nie jest ustawiona (na przykład podczas pierwszego zaladowania wtyczki), zostanie automatycznie ustawione na kodowanie terminala (jeśli jest inne niż UTF-8), lub domyślnie na _ISO-8859-1_. Domyślnie kodowanie dla wysyłanych danych nie jest ustawione, dane domyślnie wysyłane są w kodowaniu wewnętrznym (UTF-8). W celu ustawienia kodowania dla serwera IRC, należy wywołać komendę `/charset` w buforze serwera. Jeśli zostanie podane tylko kodowanie, zostanie ono użyte dla wysyłania i odbioru. Na przykład: ---- /charset ISO-8859-15 ---- Jest równoważne z: ---- /charset decode ISO-8859-15 /charset encode ISO-8859-15 ---- Aby ustawić kodowanie dla kanału (lub prywatnej rozmowy) należy wykonać to samo, co w przypadku serwera, tylko w buforze kanału (lub prywatnej rozmowy). Aby ustawić kodowanie dla wszystkich kanałów/rozmów prywatnych na danym serwerze: ---- /set charset.encode.irc.libera ISO-8859-15 ---- W celu wyświetlenia wszystkich ustawionych kodowań, wykonaj: ---- /set charset.* ---- [[charset_troubleshooting]] ==== Rozwiązywanie problemów W razie jakichś problemów z kodowaniem, zajrzyj do link:weechat_faq.pl.html#charset[WeeChat FAQ / Charset]. [[charset_commands]] ==== Komendy include::includes/autogen_user_commands.pl.adoc[tag=charset_commands] [[charset_options]] ==== Opcje Sekcje w pliku _charset.conf_: [width="100%",cols="3m,6m,16",options="header"] |=== | Sekcja | Komenda | Opis | default | /set charset.default.* | Domyślne kodowanie. | decode | <> + /set charset.decode.* | Kodowanie dla wiadomości przychodzących w buforach (opcje w tej sekcji mogą być dodawane/usuwane). | encode | <> + /set charset.encode.* | Kodowanie dla wiadomości wychodzących w buforach (opcje w tej sekcji mogą być dodawane/usuwane). |=== Opcje: include::includes/autogen_user_options.pl.adoc[tag=charset_options] [[exec_plugin]] === Exec Komenda `/exec` pozwala wykonać zewnętrzne polecenie wewnątrz WeeChat i wyświetlić jej wynik lokalnie lub wysłać do bufora. [[exec_commands]] ==== Komendy include::includes/autogen_user_commands.pl.adoc[tag=exec_commands] [[exec_options]] ==== Opcje Sekcje w pliku _exec.conf_: [width="100%",cols="3m,6m,16",options="header"] |=== | Sekcja | Komenda | Opis | command | /set exec.command.* | Opcje dla komend. | color | /set exec.color.* | Kolory. |=== Opcje: include::includes/autogen_user_options.pl.adoc[tag=exec_options] [[fifo_plugin]] === Fifo Możesz zdalnie kontrolować WeeChat, poprzez wysyłanie komend lub tekstu do kolejki FIFO (jeśli opcja "fifo.file.enabled" jest włączona, domyślnie jest włączona). Strumień FIFO jest zlokalizowany w katalogu uruchomieniowym WeeChat i ma domyślnie nazwę weechat_fifo_12345_ (gdzie _12345_ to numer procesu WeeChat). Składnia dla komend/tekstu przekazywanego do kolejki FIFO wygląda następująco: .... wtyczka.bufor *tekst lub komenda *tekst lub komenda .... Kilka przykładów: * Zmiana nicka na serwerze IRC libera na "newnick": ---- $ echo 'irc.server.libera */nick newnick' >/run/user/1000/weechat/weechat_fifo_12345 ---- * Wysłanie wiadomości na kanał IRC #weechat: ---- $ echo 'irc.libera.#weechat *hello!' >/run/user/1000/weechat/weechat_fifo_12345 ---- * Wysłanie wiadomości do obecnego bufora: ---- $ echo '*hello!' >/run/user/1000/weechat/weechat_fifo_12345 ---- * Wysłanie dwóch komend do wyładowania/przeładowania skryptów Python (należy oddzielić je za pomocą "\n"): ---- $ printf '%b' '*/python unload\n*/python autoload\n' >/run/user/1000/weechat/weechat_fifo_12345 ---- [[fifo_commands]] ==== Komendy include::includes/autogen_user_commands.pl.adoc[tag=fifo_commands] [[fifo_options]] ==== Opcje Sekcje w pliku _fifo.conf_: [width="100%",cols="3m,6m,16",options="header"] |=== | Sekcja | Komenda | Opis | plik | /set fifo.file.* | Kontrola kolejki FIFO. |=== Opcje: include::includes/autogen_user_options.pl.adoc[tag=fifo_options] [[fset_plugin]] === Fset Wtyczka Fast Set wyświetla listę opcji w buforze i pomaga w ustawianiu opcji WeeChat i wtyczek. [[fset_commands]] ==== Komendy include::includes/autogen_user_commands.pl.adoc[tag=fset_commands] [[fset_options]] ==== Opcje Sekcje w pliku _fset.conf_: [width="100%",cols="3m,6m,16",options="header"] |=== | Sekcja | Komenda | Opis | color | /set fset.color.* | Kolory. | format | /set fset.format.* | Formaty używane do wyświetlenia listy opcji. | look | /set fset.look.* | Wygląd. |=== Opcje: include::includes/autogen_user_options.pl.adoc[tag=fset_options] [[irc_plugin]] === IRC Wtyczka IRC jest zaprojektowana do prowadzenia rozmów z innymi osobami przez protokół IRC. Jest multi-serwerowa i oferuje wszystkie wspierane komendy IRC włącznie z rozmowami DCC i transferami plików (poprzez wtyczkę xfer, zobacz <>). [[irc_command_line_options]] ==== Opcje z linii poleceń Możliwe jest podanie adresu URL do jednego lub wielu serwerów IRC: ---- irc[6][s]://[nick[:hasło]@]adres.serwera.irc[:port][/kanał][,kanał[...]] ---- Przykład wejścia na kanały _#weechat_ i _#weechat-fr_ na serwerze _irc.libera.chat_, na domyślnym porcie (6667), z nickiem _alice_: ---- $ weechat irc://alice@irc.libera.chat/#weechat,#weechat-fr ---- // TRANSLATION MISSING [[irc_servers]] ==== Servers [[irc_servers_add]] ===== Add a server By default no servers are defined. You can add as many servers as you want with the <> command. For example to connect to https://libera.chat/[libera.chat] with SSL (encrypted trafic): ---- /server add libera irc.libera.chat/6697 -ssl ---- You can tell WeeChat to auto-connect to this server on startup: ---- /set irc.server.libera.autoconnect on ---- To authenticate, it is recommended to use SASL (if supported on the server), with the password stored as secured data (see also chapter on <>): ---- /set irc.server.libera.sasl_username "alice" /secure set libera xxxxxxx /set irc.server.libera.sasl_password "${sec.data.libera}" ---- If SASL is not supported, you can use a command to send a message to nickserv: ---- /set irc.server.libera.command "/msg nickserv identify ${sec.data.libera}" ---- [NOTE] By sending a message to nickserv, you may authenticate after joining channels which could be a problem on some channels requiring you to be authenticated to join. In this case, you can set a command delay: `/set irc.server.libera.command_delay 5`. [[irc_servers_options]] ===== Server options Server options are named `irc.server..