= WeeChat корисничко упутство :author: Sébastien Helleu :email: flashcode@flashtux.org :lang: sr :toc: left :toclevels: 4 :toc-title: Садржај :sectnums: :sectnumlevels: 3 :docinfo1: Превод: * Иван Пешић (), 2021. Ово упутство описује WeeChat чет клијент и део је програма WeeChat. Последња верзија овог документа може да се нађе на следећој страници: https://weechat.org/doc [[introduction]] == Увод WeeChat (Wee Enhanced Environment for Chat) је бесплатни чет клијент, једноставан и брз, дизајниран за многе оперативне системе. [[features]] === Могућности Основне могућности програма су: * подржавање разне протоколе (углавном IRC) * разни начини повезивања са сервером (преко SSL, IPv6, прокси) * мали је, брз и не оптерећује систем * прилагођавање и проширивање помоћу додатака и скрипти * сагласност са IRC RFC документима 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] и https://tools.ietf.org/html/rfc2813[2813] * IRC прокси и релеј за удаљене интерфејсе * подржавање различитих платформи (GNU/Linux, *BSD, macOS, Windows и остале) * 100% GPL, слободан софтвер WeeChat почетна страница се налази на адреси: https://weechat.org/ [[prerequisites]] === Потребно је да имате Да бисте инсталирали програм WeeChat, потребно је да поседујете: * инсталиран GNU/Linux систем (са алатима компајлера за пакет изворних фајлова), или компатибилни оперативни систем * _root_ привилегије (да се програм WeeChat инсталира у системски директоријум) * неке библиотеке (погледајте <>) [[install]] == Инсталација [[binary_packages]] === Бинарни пакети Бинарни пакети су доступни за многе дистрибуције, укључујући: * Arch Linux: `pacman -S weechat` * Cygwin (Windows): изаберите WeeChat пакете у setup.exe * Debian/Ubuntu (или било која Debian компатибилна дистрибуција): `apt-get install weechat-curses weechat-plugins` + За најновије верзије и ноћне изградње: https://weechat.org/download/debian * Fedora Core: `dnf install weechat` * Gentoo: `emerge weechat` * Mandriva/RedHat (или било која RPM компатибилна дистрибуција): `rpm -i /путања//до/weechat-x.y.z-1.i386.rpm` * openSUSE: `zypper in weechat` * Sourcemage: `cast weechat` Још неки пакети вам могу бити од користи, као што је weechat-plugins. За остале дистрибуције, молимо вас да погледајте своје упутство у вези начина за инсталирање. [[source_package]] === Пакет са изворним кодом Програм WeeChat може да се компајлира са CMake или са autotools (CMake је препоручени начин). [NOTE] На macOS можете да употребите https://brew.sh/[Homebrew]: `brew install weechat` (за помоћ: `brew info weechat`). [[dependencies]] ==== Зависности Следећа табела приказује листу пакета који су *неопходни* за успешно компајлирање програма WeeChat: [width="100%", cols="5,^3,.^15", options="header"] |=== | Пакет ^(1)^ | Верзија | Служи за | C компајлер (gcc, clang, ...) | | Изградњу. | cmake | ≥ 3.0 | Изградњу (може да се користи и autotools, али се препоручује CMake). | pkg-config | | Детекција инсталираних библиотека. | libncursesw5-dev ^(2)^ | | Ncurses интерфејс. | libcurl4-gnutls-dev | | URL пренос. | zlib1g-dev | | Компресија пакета у релеј додатку (weechat протокол), скрипт додатку. | libgcrypt20-dev | | Обезбеђени подаци, IRC SASL аутентификација. | libgnutls28-dev | ≥ 2.2.0 ^(3)^ | SSL веза са IRC сервером, подршка за SSL у релеј додатку, IRC SASL аутентификација (ECDSA-NIST256P-CHALLENGE). |=== [NOTE] ^(1)^ Име долази из Debian GNU/Linux дистрибуције, верзије и имена пакета могу да се разликују у различитим дистрибуцијама и верзијама. + ^(2)^ Препоручује се компајлирање са libncurses**w**5-dev (битно је *w*). Програм WeeChat може да се компајлира са libncurses5-dev, али се то *НЕ* препоручује: можете имати багове код приказа широких карактера. + ^(3)^ GnuTLS ≥ 3.0.21 је неопходан за IRC SASL аутентификацију механизмом ECDSA-NIST256P-CHALLENGE. Следећа табела приказује листу пакета који нису обавезни за компајлирање програма WeeChat: [width="100%", cols="5,^3,.^15", options="header"] |=== | Пакет | Верзија | Служи за | C++ компајлер | | Изградњу и покретање тестова, JavaScript додатак. | gettext | | Интернационализацију (превод порука; основни језик је енглески). | ca-certificates | | Сертификате за SSL везе. | libaspell-dev ∥ libenchant-dev | | Spell додатак. | python3-dev ^(1)^ | | Python додатак. | libperl-dev | | Perl додатак. | ruby2.5, ruby2.5-dev | ≥ 1.9.1 | Ruby додатак. | liblua5.3-dev | | Lua додатак. | tcl-dev | ≥ 8.5 | Tcl додатак. | guile-2.0-dev | ≥ 2.0 | Guile (scheme) додатак. | libv8-dev | ≤ 3.24.3 | JavaScript додатак. | php-dev, libphp-embed | ≥ 7.0 | PHP додатак. | libxml2-dev | | PHP додатак. | libargon2-0-dev | | PHP додатак (ако је PHP ≥ 7.2). | libsodium-dev | | PHP додатак (ако је PHP ≥ 7.2). | asciidoctor | ≥ 1.5.4 | Изградњу man странице и документације. | libcpputest-dev | ≥ 3.4 | Изградњу и покретање тестова. |=== [NOTE] ^(1)^ Подразумевано се користи Python 3.x. Ако укључите опцију `+ENABLE_PYTHON2+` (погледајте испод), препоручује се само верзија 2.7 језика Python. Ако користите дистрибуцију базирану на Debian/Ubuntu и ако имате неке „deb-src” изворне ставке у фајлу _/etc/apt/sources.list_, можете инсталирати све зависности командом: ---- # apt-get build-dep weechat ---- [[compile_with_cmake]] ==== Компајлирање са CMake * Инсталација у системске директоријуме (неопходне су _root_ привилегије): ---- $ mkdir build $ cd build $ cmake .. $ make $ sudo make install ---- * Инсталација у директоријум по жељи (на пример, у ваш почетни): ---- $ mkdir build $ cd build $ cmake .. -DCMAKE_INSTALL_PREFIX=/путања/до/директоријума $ make $ make install ---- Можете да користите опције за CMake, у формату: `-DОПЦИЈА=ВРЕДНОСТ`. Листа често коришћених опција: [width="100%", cols="3m,3,3m,10", options="header"] |=== | Опција | Вредности | Подразумевана вредност | Опис | CMAKE_BUILD_TYPE | `Debug`, `Release`, `RelWithDebInfo`, `MinSizeRel` | | Тип изградње: `Debug` (или `RelWithDebInfo`) се препоручује ако покрећете развојну верзију програма WeeChat. | CMAKE_INSTALL_PREFIX | директоријум | /usr/local | Директоријум у који ће се инсталирати програм WeeChat. | WEECHAT_HOME | директоријум | (празан стринг) | Подразумевани почетни директоријум када се извршава програм WeeChat. + Са празном вредности (подразумевано), подразумевано се користе XDG директоријуми. Ако није празна, за све фајлове се користи један директоријум. Вредност такође може да буде и 4 директоријума раздвојена са две тачке, у следећем редоследу: config, data, cache, runtime. | ENABLE_ALIAS | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_BUFLIST | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_CHARSET | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_MAN | `ON`, `OFF` | OFF | Изграђује man страницу. | ENABLE_DOC | `ON`, `OFF` | OFF | Изграђује HTML документацију. | ENABLE_ENCHANT | `ON`, `OFF` | OFF | Компајлира <> са Enchant. | ENABLE_EXEC | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_FIFO | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_FSET | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_GUILE | `ON`, `OFF` | ON | Компајлира <> (Scheme). | ENABLE_IRC | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_JAVASCRIPT | `ON`, `OFF` | OFF | Компајлира <>. | ENABLE_LARGEFILE | `ON`, `OFF` | ON | Подршка за велике фајлове. | ENABLE_LOGGER | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_LUA | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_NCURSES | `ON`, `OFF` | ON | Компајлира Ncurses интерфејс. | ENABLE_NLS | `ON`, `OFF` | ON | Укључује NLS (преводе). | ENABLE_PERL | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_PHP | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_PYTHON | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_PYTHON2 | `ON`, `OFF` | OFF | Компајлира <> користећи Python 2 уместо Python 3. | ENABLE_RELAY | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_RUBY | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_SCRIPT | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_SCRIPTS | `ON`, `OFF` | ON | Компајлира <> (Python, Perl, Ruby, Lua, Tcl, Guile, JavaScript, PHP). | ENABLE_SPELL | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_TCL | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_TRIGGER | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_TYPING | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_XFER | `ON`, `OFF` | ON | Компајлира <>. | ENABLE_TESTS | `ON`, `OFF` | OFF | Компајлира тестове. | ENABLE_CODE_COVERAGE | `ON`, `OFF` | OFF | Компајлира са опцијама за покривеност кода. + Ова опција би требало да се се користи само за тестирање, да се измери покривеност теста. |=== Остале команде могу да се прикажу следећом командом: ---- $ cmake -LA ---- или са Curses интерфејсом: ---- $ ccmake .. ---- [[compile_with_autotools]] ==== Компајлирање са autotools [WARNING] За изградњу програма WeeChat званично се подржава само CMake. Требало би користите autotools само ако ни сте у могућности да користите CMake. + Изградња са autotools захтева више зависности и спорија је у односу на изградњу са CMake. * Инсталација у системске директоријуме (неопходне су _root_ привилегије): ---- $ ./autogen.sh $ mkdir build $ cd build $ ../configure $ make $ sudo make install ---- * Инсталација у директоријум по жељи (на пример, у ваш почетни): ---- $ ./autogen.sh $ mkdir build $ cd build $ ../configure --prefix=/путања/до/директоријума $ make $ make install ---- За скрипту _configure_ могу да се користе опције које се приказују следећом командом: ---- $ ./configure --help ---- [[run_tests]] ==== Покретање тестова За компајлирање тестова су *неопходни* следећи пакети: * libcpputest-dev * C++ компајлер Када се компајлира програм WeeChat (са CMake), тестови морају да се укључе: ---- $ cmake .. -DENABLE_TESTS=ON ---- Након компајлирања могу да се покрену из директоријума у који је изграђен програм (са CMake): ---- $ ctest -V ---- [[git_sources]] === Git извори Упозорење: git извори су за напредне кориснике: можда се неће компајлирати или програм неће бити стабилан. Упозорили смо вас! Да бисте преузели git изворе, извршите следећу команду: ---- $ git clone https://github.com/weechat/weechat.git ---- Затим следите инструкције за <>). [[report_crashes]] === Извештавање о рушењу програма Ако вам се програм руши, или ако желите да известите о евентуалном будућем краху програма WeeChat, потребно је да: * Програм компајлирате са: ** дибаг инфо (или да инсталирате бинарни пакет са дибаг инфо), ** чистач адресе (није обавезан). * Укључите _core_ фајлове на свом систему. * Инсталирате gdb. [[build_debug]] ==== Изградња са дибаг опцијама Ако компајлирате са CMake: ---- $ cmake .. -DCMAKE_BUILD_TYPE=Debug ---- [[build_debug_address_sanitizer]] ==== Изградња са дибаг опцијама и чистачем адресе Можете и да укључите чистач адресе, помоћу кога се програм WeeChat тренутно руши чим дође до неког проблема: ---- $ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_FLAGS=-fsanitize=address -DCMAKE_CXX_FLAGS=-fsanitize=address -DCMAKE_EXE_LINKER_FLAGS=-fsanitize=address ---- [WARNING] Чистач адресе би требало да укључите само ако покушавате да откријете узрок краха, то се не препоручује за програм који се нормално користи. Затим када се компајлира и инсталира, програм WeeChat морате покренути на следећи начин: ---- $ ASAN_OPTIONS="detect_odr_violation=0 log_path=asan.log" weechat ---- У случају краха, дневник се налази у фајлу `asan.log`. [[core_files]] ==== Core фајлови Да бисте укључили _core_ фајлове, употребите опцију <>: ---- /set weechat.startup.sys_rlimit "core:-1" ---- У верзијама програма WeeChat ≤ 0.3.8, или ако желите да укључите core фајлове и пре него што се програм WeeChat покрене, употребите команду `ulimit`. На пример, на Linux систему са _bash_ командним окружењем, додајте следећу линију у свој `~/.bashrc`: ---- ulimit -c unlimited ---- Или поставите макс величину: ---- ulimit -c 200000 ---- [[gdb_backtrace]] ==== Добијање дневника са gdb Када се програм WeeChat сруши, ваш систем ће креирате _core_ фајл или _core.12345_ (_12345_ је id процеса) ако је <>. Овај фајл се креира у директоријуму из којег сте покренули програм WeeChat (то *није* директоријум у који је програм WeeChat инсталиран!). [NOTE] На неким системима као што је Archlinux, core извештаји могу бити у неком другом директоријуму као што је _/var/lib/systemd/coredump_ и морате да употребите команду `coredumpctl` да их прочитате. + За више информација, погледајте следећу ики страницу: https://wiki.archlinux.org/index.php/Core_dump На пример, ако је _weechat_ инсталиран у _/usr/bin/_ а _core_ фајл се налази у _/home/user/_, онда покрените gdb следећом командом: ---- gdb /usr/bin/weechat /home/user/core ---- Затим у gdb, употребите команду `bt full` којом се приказује дневник. Видећете нешто слично овоме: ---- (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 = ---- Овај дневник морате пријавити програмерима, и навести која акција је изазвала овај крах. Хвала вам на помоћи! [[debug_running_weechat]] ==== Дибаг програма WeeChat који се извршава Ако желите да вршите дибаг програма WeeChat који се извршава (на пример, ако изгледа да је програм WeeChat блокиран), можете употребите gdb са id процеса (замените _12345_ са PID weechat процеса): ---- gdb /usr/bin/weechat 12345 ---- Затим, као и у случају краха, употребите команду `bt full`: ---- (gdb) bt full ---- [[upgrade]] === Ажурирање Ако се објави нова стабилна верзија програма WeeChat, онда је време да пређете на ту верзију. Најпре морате инсталирати нову верзију програма WeeChat, или менаџером пакета, или тако што ћете га сами компајлирати, тако да су `weechat` бинарни фајл и све потребни фајлови на истим путањама. + Ово може да се уради и док се програм WeeChat извршава. [[upgrade_command]] ==== Команда upgrade Програм WeeChat у месту може да поново покрене нови бинарни фајл, употребом команде <>: садржаји бафера и не-SSL везе се задржавају. + SSL везе се раскидају током ажурирања и аутоматски се поново успостављају након завршетка процеса ажурирања (тренутно са GnuTLS није могуће поновно учитавање SSL сесија). Команда такође може да се употреби и када морате поново да покренете машину, на пример, да бисте ажурирали кернел или да преместите свој WeeChat на другу машину: ---- /upgrade -quit ---- Ово чува тренутно стање у `*.upgrade` фајлове. Након тога можете или да поново покренете машину, или да комплетне WeeChat директоријуме (config, data, cache) преместите на неку другу машину и касније покренете програм WeeChat следећом командом: ---- $ weechat --upgrade ---- [[restart_after_upgrade]] ==== Поновно покретање након ажурирања [[restart_release_notes]] ===== Напомене о издању Након ажурирања, *снажно се препоручује* да прочитате https://weechat.org/files/releasenotes/ReleaseNotes-devel.html[напомене о издању] које садржи важне информације о променама које прекидају раније понашање програма, као и ручне акције које су због тога можда неопходне. Морате прочитати све напомене о издању издате између ваше старе (без ње) и ваше нове верзије (укључујући и њу). + На пример, ако пређете са верзије 3.0 на 3.2, морате да прочитате напомене о издању за верзије 3.1 и 3.2. [[restart_configuration_upgrade]] ===== Ажурирање конфигурације Програм WeeChat врши аутоматско ажурирање конфигурационих фајлова (`*.conf`): * нове опције се без најаве додају са својим подразумеваним вредностима * застареле опције се аутоматски одбацују и програм WeeChat приказује упозорење које садржи вредност прочитану из фајла. Пример упозорења када се опција уклања: ---- =!= Упозорење: /home/user/.config/weechat/sec.conf, линија 15: непозната опција за одељак "crypt": passphrase_file = "" ---- Ово значи да је опција `sec.crypt.passphrase_file` уклоњена и да је њена вредност била постављена на празан стринг, што је и подразумевана вредност у претходној верзији (у овом случају нема потребе за ручном акцијом). [[usage]] == Употреба [[running_weechat]] === Покретање програма WeeChat Ако желите да покренете програм WeeChat, задајте следећу команду: ---- $ weechat ---- Када по први пут покренете програм WeeChat, у директоријуму _~/.config/weechat_ се креирају подразумевани конфигурациони фајлови са подразумеваним опцијама и вредностима (погледајте <>). [[command_line_options]] ==== Опције командне линије include::includes/cmdline_options.sr.adoc[tag=standard] [[extra_debug_options]] ==== Додатне дибаг опције [WARNING] Ове опције служе само за дибаг, *НЕ КОРИСТИТЕ ИХ ЗА ПРОГРАМ КОЈИ СЕ НОРМАЛНО КОРИСТИ!* include::includes/cmdline_options.sr.adoc[tag=debug] [[environment_variables]] === Променљиве окружења У случају да су дефинисане, програм WeeChat користи неке променљиве окружења: [width="100%", cols="1m,6", options="header"] |=== | Име | Опис | WEECHAT_HOME | WeeChat почетни директоријум (са конфигурационим фајловима, логовима, скриптама, итд.). Исто понашање као <> `WEECHAT_HOME`. | WEECHAT_PASSPHRASE | Тајна реченица која се користи за дешифровање обезбеђених података. | WEECHAT_EXTRA_LIBDIR | Додатни директоријум из кога се учитавају додаци (из „plugins” директоријума на овој путањи). |=== [[files_and_directories]] === Фајлови и директоријуми [[xdg_directories]] ==== XDG директоријуми WeeChat подразумевано користи XDG директоријуме (сагласно са https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html[XDG Base Directory Specification]). + Један почетни директоријум за све фајлове може да се форсира CMake опцијом `WEECHAT_HOME`, променљивом окружења `WEECHAT_HOME` или опцијом командне линије `-d` / `--dir`. Када се не форсира један WeeChat почетни директоријум, користе се XDG директоријуми и постављају се овако: [width="100%", cols="1,2m,5", options="header"] |=== | Директоријум | Подразумевана вредност | Вредност у случају потребе | config | $XDG_CONFIG_HOME/weechat | `$HOME/.config/weechat` ако `$XDG_CONFIG_HOME` није дефинисана или је празна. | data | $XDG_DATA_HOME/weechat | `$HOME/.local/share/weechat` ако `$XDG_DATA_HOME` није дефинисана или је празна. | cache | $XDG_CACHE_HOME/weechat | `$HOME/.cache/weechat` ако `$XDG_CACHE_HOME` није дефинисана или је празна. | runtime | $XDG_RUNTIME_DIR/weechat | Исто као _cache_ директоријум ако `$XDG_RUNTIME_DIR` није дефинисана или је празна. |=== Конфигурациони фајлови фајлови се креирају са подразумеваним вредностима онда када по први пут покренете програм WeeChat. [[weechat_directories]] ==== WeeChat директоријуми Ово су директоријуми програма WeeChat: [width="100%", cols="1m,3", options="header"] |=== | Путања ^(1)^ | Опис | ~/.config/weechat/ | WeeChat конфигурациони фајлови: `*.conf`, сертификати, итд. | ~/.local/share/weechat/ | WeeChat фајлови података: логови, скрипте, подаци скрипти, xfer фајлови, итд. |    logs/ | Лог фајлови (по један за сваки бафер). |    python/ | Python скрипте. |       autoload/ | Python скрипте које аутоматски учитавају при покретању ^(2)^. |    perl/ | Perl скрипте. |       autoload/ | Perl скрипте које се аутоматски учитавају при покретању ^(2)^. |    ruby/ | Ruby скрипте. |       autoload/ | Ruby скрипте које се аутоматски учитавају при покретању ^(2)^. |    lua/ | Lua скрипте. |       autoload/ | Lua скрипте које се аутоматски учитавају при покретању ^(2)^. |    tcl/ | Tcl скрипте. |       autoload/ | Tcl скрипте које се аутоматски учитавају при покретању ^(2)^. |    guile/ | Guile скрипте. |       autoload/ | Guile скрипте које се аутоматски учитавају при покретању ^(2)^. |    javascript/ | JavaScript скрипте. |       autoload/ | JavaScript скрипте које се аутоматски учитавају при покретању ^(2)^. |    php/ | PHP скрипте. |       autoload/ | PHP скрипте које се аутоматски учитавају при покретању ^(2)^. | ~/.cache/weechat/ | WeeChat кеш фајлови: кеш скрипти. | /run/user/1000/weechat/ | WeeChat фајлови за време извршавања: FIFO пајп, Relay UNIX сокети. |=== [NOTE] ^(1)^ XDG директоријуми могу да буду различити зависно од ваших вредности променљивих окружења `XDG_*`. + ^(2)^ Овај директоријум најчешће садржи само симболички линк на скрипте у родитељском директоријуму. [[weechat_files]] ==== WeeChat фајлови Ово су фајлови који се налазе у почетном директоријуму програма WeeChat: [width="100%", cols="1m,3,6", options="header"] |=== | Фајл | Опис | Осетљиви подаци | weechat.conf | Главни WeeChat конфигурациони фајл | Могуће (пример: листа канала у сачуваном распореду бафера). | sec.conf | Конфигурациони фајл са обезбеђеним подацима | *Да, врло осетљиви*: овај фајл никада не сме да се дели са било ким. | plugins.conf | Конфигурациони фајл додатака | Могуће, зависно од додатака/скрипти. | alias.conf | Конфигурациони фајл за _алијас_ додатак | Могуће, зависно од алијаса. | buflist.conf | Конфигурациони фајл за _buflist_ додатак | Не. | charset.conf | Конфигурациони фајл за _charset_ додатак | Не. | exec.conf | Конфигурациони фајл за _exec_ додатак | Не. | fifo.conf | Конфигурациони фајл за _fifo_ додатак | Не. | fset.conf | Конфигурациони фајл за _fset_ додатак | Не. | guile.conf | Конфигурациони фајл за _guile_ додатак | Не. | irc.conf | Конфигурациони фајл за _irc_ додатак | *Да*: може да садржи лозинке за сервере, nickserv и канале (ако се не чувају у `sec.conf`). | javascript.conf | Конфигурациони фајл за _javascript_ додатак | Не. | logger.conf | Конфигурациони фајл за _logger_ додатак | Не. | lua.conf | Конфигурациони фајл за _lua_ додатак | Не. | perl.conf | Конфигурациони фајл за _perl_ додатак | Не. | php.conf | Конфигурациони фајл за _php_ додатак | Не. | python.conf | Конфигурациони фајл за _python_ додатак | Не. | relay.conf | Конфигурациони фајл за _релеј_ додатак | *Да*: може да садржи лозинку за релеј и TOTP тајну (ако се не чувају у `sec.conf`), дозвољене IP адресе/вебсокет порекла и отворене портове. | ruby.conf | Конфигурациони фајл за _ruby_ додатак | Не. | script.conf | Конфигурациони фајл за _script_ додатак | Не. | tcl.conf | Конфигурациони фајл за _tcl_ додатак | Не. | spell.conf | Конфигурациони фајл за _spell_ додатак | Не. | trigger.conf | Конфигурациони фајл за _окидач_ додатак | Могуће, зависно од окидача. | typing.conf | Конфигурациони фајл за _typing_ додатак | Не. | xfer.conf | Конфигурациони фајл за _xfer_ додатак | Не. | weechat.log | WeeChat лог фајл | Не. |=== [IMPORTANT] *Не препоручује се* ручно уређивање конфигурационих фајлова јер програм WeeChat може да их упише у било које време (на пример приликом команде <>) и јер након сваке измене морате да извршите команду <> (уз ризик губитка осталих измена које још увек нисте сачували командом <>). + Можете да употребљавате команду <>, која врши проверу вредности и тренутно примењује измене. [[screen_layout]] === Распоред екрана Пример терминала са програмом WeeChat: .... ▼ трака „buflist” ▼ трака „title” ┌─────────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Добро дошли на #test, ово је тест канал │ │ weechat│12:52:27 --> | Flashy (flashcode@weechat.org) је приступио у #test │@Flashy│ │2. #test│12:52:27 -- | Надимци #test: [@Flashy @joe +weebot peter] │@joe │ │3. #abc │12:52:27 -- | Канал #test: 4 надимка (2 опа, 1 глас, 1 обичан) │+weebot│ │4. #def │12:52:27 -- | Канал је креиран у Уто Јан 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!█ │ └─────────────────────────────────────────────────────────────────────────────────────────┘ ▲ траке „status” и „input” трака „nicklist” ▲ .... Екран је подразумевано подељен на следеће области: * простор за разговор (чет) (средина екрана) са линијама разговора и за сваку линију: ** време ** префикс (испред „|”) ** порука (након „|”) * траке око простора за разговор, подразумеване траке су: ** _buflist_ трака, са леве стране ** _title_ (насловна) трака, изнад простора за разговор ** _status_ (статусна) трака, испод простора за разговор ** _input_ (унос) трака, испод статусне траке ** _nicklist_ (листа надимака) трака, са десне стране _buflist_ трака садржи следеће подразумеване ставке: [width="100%", cols="^3,^3,9", options="header"] |=== | Ставка | Пример | Опис | buflist | `1.weechat` | Листа бафера. |=== _title_ трака садржи следеће подразумеване ставке: [width="100%", cols="^3,^3,9", options="header"] |=== | Ставка | Пример | Опис | buffer_title | `Добродошли у #test` | Наслов бафера. |=== _status_ трака садржи следеће подразумеване ставке: [width="100%", cols="^3,^3,9", options="header"] |=== | Ставка | Пример | Опис | time | `[12:55]` | Време. | buffer_last_number | `[5]` | Број последњег бафера у листи. | buffer_plugin | `[irc/libera]` | Додатак текућег бафера (irc додатак може да дода име IRC сервера који бафер користи). | buffer_number | `2` | Број текућег бафера. | buffer_name | `#test` | Име текућег бафера. | buffer_modes | `+n` | Режими IRC канала. | buffer_nicklist_count | `{4}` | Број надимака у листи надимака. | buffer_zoom | ! | `!` значи да је спојени бафер зумиран (само он се приказује), празна вредност значи да се приказују сви спојени бафери. | buffer_filter | `+*+` | Индикатор филтрирања: `+*+` значи да су неке линије филтриране (скривене), празна вредност значи да се приказују све линије. | scroll | `-ЈОШ(50)-` | Скрол индикатор, са бројем линија испод последње приказане линије. | lag | `[Кашњење: 2.5]` | Индикатор кашњења, у секундама (скривен је ако је кашњење мало). | hotlist | `[H: 3:#abc(2,5), 5]` | Листа бафера који имају активност (непрочитане поруке) (у примеру, 2 истицања и 5 непрочитаних порука на _#abc_, једна непрочитана порука у баферу #5). | completion | `abc(2) def(5)` | Листа речи за довршавање, са бројем могућих довршавања за сваку реч. |=== _input_ трака садржи следеће подразумеване ставке: [width="100%", cols="^3,^3,9", options="header"] |=== | Ставка | Пример | Опис | input_prompt | `[@Flashy(i)]` | Одзив за унос, за irc: надимак и режими (режим „+i” значи невидљив на серверу libera). | away | `(одсутан)` | Индикатор одсутности. | input_search | `[Претрага (~ str,msg)]` | Индикатор претраге („`~`”: не прави се разлика у величини слова, „`==`”: прави се разлика у величини слова, „`str`”: стринг претраге, „`regex`”: претрага по регуларном изразу, „`msg`”: претрага у порукама, „`pre`”: претрага у префиксима, „`pre\|msg`”: претрага и у префиксима и у порукама). | input_paste | `[Да налепим 7 линија? [ctrl-Y] Да [ctrl-N] Не]` | Питање за корисника пре налељпивања линија. | input_text | `hi peter!` | Текст уноса. |=== _nicklist_ трака садржи следеће подразумеване ставке: [width="100%", cols="^3,^3,9", options="header"] |=== | Ставка | Пример | Опис | buffer_nicklist | `@Flashy` | Листа надимака на текућем баферу. |=== Остале доступне ставке (подразумевано се не користе у тракама): [width="100%", cols="^3,^3,9", options="header"] |=== | Ставка | Пример | Опис | buffer_count | `10` | Укупан број отворених бафера. | buffer_last_number | `10` | Број најновијег бафера (може да се разликује од `buffer_count` ако је опција <> `off`). | buffer_nicklist_count_all | `4` | Број видљивих група и надимака у листи надимака. | buffer_nicklist_count_groups | `0` | Број видљивих група у листи надимака. | buffer_short_name | `#test` | Кратко име текућег бафера. | buflist2 | `1.weechat` | Листа бафера, друга ставка траке (погледајте опцију <>). | buflist3 | `1.weechat` | Листа бафера, трећа ставка траке (погледајте опцију <>). | fset | `+buflist.look.sort: …+` | Помоћ у вези тренутно изабране опције у fset баферу. | irc_channel | `#test` | Име тренутног IRC канала. | irc_host | `+user@host.com+` | Име тренутног IRC хоста. | irc_nick | `+Flashy+` | Тренутни IRC надимак. | irc_nick_host | `+Flashy!user@host.com+` | Тренутни IRC надимак и име хоста. | irc_nick_modes | `i` | IRC режими са ваш надимак. | irc_nick_prefix | `@` | IRC префикс надимка на каналу. | mouse_status | `M` | Статус миша (празно ако је миш искључен). | spell_dict | `fr,en` | Речници за проверу правописа који се користе у текућем баферу. | spell_suggest | `print,prone,prune` | Правописни предлози за реч под курсором (у случају да је погрешно исписана). | tls_version | `TLS1.3` | TLS верзија која се користи за текући IRC сервер. | window_number | `2` | Број текућег прозора. |=== Сваки аспект распореда може да се прилагоди одговарајућом <>: <> за прилагођавање трака, <> и <> за прилагођавање <> и <> за именовање, чување и враћање распореда екрана и придруживања прозора са баферима. [[command_line]] === Командна линија WeeChat командна линија (на дну прозора) вам омогућава извршавање команди или слање текста у бафер. [[command_line_syntax]] ==== Синтакса Команде почињу карактером „/”, након кога следи име команде. На пример, ако желите да видите листу свих опција: ---- /set ---- Текст који се шаље у бафер је било који текст који не почиње карактером „/”. На пример, ако у текући бафер желите да пошаљете текст _здраво_: ---- здраво ---- Међутим, можете да почнете са карактером „/” ако додате још један. На пример, ако у текући бафер желите да пошаљете текст `/set`: ---- //set ---- [[command_line_colors]] ==== Кодови боја За неке додатке као што је IRC, можете да користите кодове боја и атрибуте, као што следи (притисните kbd:[Ctrl+c] па слово које следи, са необавезном вредности): [width="100%", cols="1,2", options="header"] |=== | Тастер | Опис | kbd:[Ctrl+c], kbd:[b] | Подебљани текст | kbd:[Ctrl+c], kbd:[c], kbd:[xx] | Текст у боји `xx` (погледајте листу боја испод). | kbd:[Ctrl+c], kbd:[c], kbd:[xx], kbd:[,], kbd:[yy] | Текст у боји `xx` и позадина у `yy` (погледајте листу боја испод). | kbd:[Ctrl+c], kbd:[i] | Текст у курзиву. | kbd:[Ctrl+c], kbd:[o] | Искључивање боје и атрибута. | kbd:[Ctrl+c], kbd:[v] | Обрнути видео (боје текста и позадине се замењују једна са другом). | kbd:[Ctrl+c], kbd:[_] | Подвучени текст. |=== [NOTE] Исти кôд (без броја за kbd:[Ctrl+c], kbd:[c]) може да се употреби за заустављање атрибута. Кодови боја за kbd:[Ctrl+c], kbd:[c] су: include::includes/autogen_user_irc_colors.sr.adoc[tag=irc_colors] [NOTE] Да бисте у свом терминалу видели све доступне боје, можете да у програму WeeChat извршите `/color` па затим kbd:[Alt+c], или да у терминалу покренете следећу команду: `weechat --colors`. Пример: приказати „здраво Елена!” са „здраво” у светлоплавој боји подебљано и „Елена” у светлоцрвеној боји, подвучено: ---- ^Cc12^Cbздраво ^Cb^Cc04^C_Елена^C_^Cc! ---- Тастери: 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] У irc додатку можете да ремапирате ове боје употребом опције <>. [[colors]] === Боје За приказ текста у тракама и простору за чет, програм WeeChat може да користи до 32767 парова боја (ваш терминал мора да подржава 256 боја како могле да се користе у програму WeeChat). Сагласно са вредности променљиве окружења _TERM_, можете имати следећа ограничења за боје у програму WeeChat: [width="75%", cols="8,>3,>3", options="header"] |=== | $TERM | Боја | Парова | "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 |=== Ако желите да прикажете ограничења за своје окружење, покрените `weechat --colors`, или извршите команду `/color` у програму WeeChat. Неке од препоручених вредности за _TERM_ ако желите 256 боја: * под screen: _screen-256color_ * под tmux: _screen-256color_ или _tmux-256color_ * ван screen/tmux: _xterm-256color_, _rxvt-256color_, _putty-256color_, ... [NOTE] Можда ће бити потребно да инсталирате пакет „ncurses-term” како бисте могли да у _TERM_ променљивој користите ове вредности. Ако користите screen, можете да додате следећу линију у свој _~/.screenrc_: ---- term screen-256color ---- Ако је вредност ваше _TERM_ променљиве погрешна, а програм WeeChat се већ извршава, можете да је промените помоћу следеће две команде: ---- /set env TERM screen-256color /upgrade ---- [[colors_basic]] ==== Основне боје Основне боје у програму WeeChat су: [width="75%", cols="1m,4", options="header"] |=== | Име | Боја | default | Подразумевана боја терминала (провидна за позадину) | black | Црна | darkgray | Тамносива | red | Тамноцрвена | lightred | Светлоцрвена | green | Тамнозелена | lightgreen | Светлозелена | brown | Браон | yellow | Жута | blue | Тамноплава | lightblue | Светлоплава | magenta | Тамномагента | lightmagenta | Светломагента | cyan | Тамноцијан | lightcyan | Светлоцијан | gray | Сива | white | Бела |=== [[colors_extended]] ==== Проширене боје Програм WeeChat динамички алоцира парове боја када се боје употребе на екрану (за приказ бафера и трака). Уз основне боје, можете да користите и број боје између 1 и границе вашег терминала. Употребите команду `/color` да видите текуће боје и ограничења. Са kbd:[Alt+c] можете привремено да се пребаците на боје терминала како бисте изабрали боју. На пример, ако желите да се време у баферу приказује у наранџастој боји, извршите: ---- /set weechat.color.chat_time 214 ---- Или ако желите тамну тамнозелену позадину за статусну линију: ---- /set weechat.bar.status.color_bg 22 ---- [[colors_aliases]] ==== Алијаси Алијасе боја можете додати командом `/color alias`, па затим користити тај алијас у било којој опцији за боје. На пример: ---- /color alias 214 orange /set weechat.color.chat_delimiters orange ---- [[colors_attributes]] ==== Атрибути За боје можете да користите и неке атрибуте. Испред имена или броја боје можете додати један или више атрибута: * `+*+`: подебљани текст * `+!+`: обрнути видео * `+/+`: курзив * `+_+`: подвучен текст * `+|+`: задржавање атрибута: када се мења боја, подебљано/обрнуто/курзив/подвучено се не ресетује На пример, ако желите да ваш надимак исписује у белој боји, подвучено, извршите: ---- /set weechat.color.chat_nick_self _white ---- Или ако желите да се у статусној траци време исписује у наранџастој боји, подебљано: ---- /set weechat.color.status_time *_214 ---- Ако атрибуте желите да користите са подразумеваном бојом терминала (-1), морате да употребите број већи од последње боје терминала, на пример, максималну боју у програму WeeChat: 99999. Пример подебљаног текста са бојом предњег плана терминала: ---- /set weechat.color.status_time *99999 ---- [[buffers_and_windows]] === Бафери и прозори _бафер_ се састоји из броја, имена, приказаних линија (и још неких података). Примери бафера: * бафер језгра (креира га програм WeeChat током покретања, не може да се затвори) * irc сервер (приказује поруке од сервера) * irc канал * irc приватне поруке _прозор_ је површина екрана која приказује бафер. Свој екран можете да изделите на више прозора (примери су <>, погледајте <> за више детаља). Сваки прозор приказује један бафер. Бафер може да буде скривен (не приказује се у прозору) или да се приказује у једном или у више прозора. Распореди екрана и придруживање бафера прозорима могу да се <>. [[window_split_examples]] ==== Примери Пример хоризонталне поделе (`/window splith`): .... ▼ прозор #2 (бафер #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!█ │ └─────────────────────────────────────────────────────────────────────────────────────┘ ▲ прозор #1 (бафер #3) .... Пример вертикалне поделе(`/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] │ └─────────────────────────────────────────────────────────────────────────────────────┘ ▲ прозор #1 (бафер #3) ▲ прозор #2 (бафер #4) .... Пример вертикалне + хоризонталне поделе: .... ▼ прозор #3 (бафер #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] │ └─────────────────────────────────────────────────────────────────────────────────────┘ ▲ прозор #1 (бафер #3) ▲ прозор #2 (бафер #4) .... [[buffers]] === Бафери [[lines_format]] ==== Формат линија Линије које се приказују у форматираним баферима имају следећа поља: [width="100%", cols="2,2,10", options="header"] |=== | Поље | Приказано | Опис | date/time (порука) | Да | Датум/време поруке (може бити у прошлости). | date/time (испис) | Не | Датум/време када WeeChat испише поруку. | prefix | Да | Префикс поруке, обично је надимак. | message | Да | Сама порука. | displayed | Не | Логичка: истинито ако је линија приказана, неистинито ако је линија филтрирана командом <>. | highlight | Не | Логичка: истинито ако линија има истицање, у супротном неистинито. | tags | Са `/debug tags` | Ознаке придружене линији (погледајте <>). |=== Приказ линија може да се прилагоди многим опцијама изгледа (_pass:[weechat.look.*]_) и опцијама боја (_pass:[weechat.color.chat_*]_). [[lines_tags]] ==== Ознаке линија Програм WeeChat користи у разне сврхе ознаке у линијама: * истицање * ниво обавештавања * логовање * употреба команде <> Ознаке могу да се прикажу командом `/debug tags` (иста команда их и сакрива). Често коришћене ознаке (листа није потпуна): [width="100%", cols="1m,4", options="header"] |=== | Ознака | Опис | no_filter | Линија не може да буде филтрирана. | no_highlight | У линији није могуће истицање. | no_log | Линија се не уписује у лог фајл. | log0 … log9 | Ниво лога за линију (погледајте `/help logger`). | notify_none | Линија не сме да се дода у врућу листу. ^(1)^ | notify_message | Линија је корисничка порука. ^(1)^ | notify_private | Линија је приватна порука. ^(1)^ | notify_highlight | Линија је порука са истицањем. ^(1)^ | self_msg | Порука од вас. | nick_xxx | Порука је од надимка „xxx”. | prefix_nick_ccc | Префикс је надимак у боји „ccc”. | host_xxx | Корисничко име и хост у поруци. | irc_xxx | IRC порука „xxx” (може бити команда или троцифрени број). | irc_numeric | IRC нумеричка порука. | irc_error | Грешка од IRC сервера. | irc_action | Акција од надимка (команда `/me`). | irc_ctcp | CTCP порука. | irc_ctcp_reply | Одговор на CTCP поруку. | irc_smart_filter | IRC порука која може да се филтрира „паметним филтером”. | away_info | Порука са информацији о одсутности. |=== [NOTE] ^(1)^ Када није присутна ниједна „notify_xxx” ознака, подразумевани ниво је „low”. Ако је присутна ознака „notify_xxx”, стварни ниво обавештавања може бити различит, на пример ако се за надимак користи максимални ниво вруће листе, ниво обавештавања може бити нижи него што је наведен у ознаци. [[local_variables]] ==== Локалне променљиве У свим баферима можете да дефинишете локалне променљиве. Локална променљива има: * име (стринг) * вредност (стринг, може бити и празан) Локалне променљиве може да поставља програм WeeChat, додаци, скрипте, или ручно, командном линијом у баферу. На пример, ако желите да додате локалну променљиву „completion_default_template”: ---- /buffer setvar completion_default_template %(my_completion) ---- Ако желите да видите све локалне променљиве у текућем баферу: ---- /buffer listvar ---- Ако желите да уклоните локалну променљиву „completion_default_template”: ---- /buffer delvar completion_default_template ---- Програм WeeChat и његови додаци подразумевано интерпретирају следеће променљиве: [width="100%", cols="^2m,2,5", options="header"] |=== | Име | Вредност | Опис | away | било који стринг | Порука о одсутности на серверу, поставља је irc додатак. | channel | било који стринг | Име канала, постављају је irc/xfer додаци и дибаг бафер релеј/окидач додатака. | charset_modifier | било који стринг | Модификатор скупа карактера за серверски бафер, поставља је irc додатак. | completion_default_template | било који стринг | Подразумевани шаблон за довршавање у баферу, премошћава опцију `weechat.completion.default_template`. | filter | било који стринг | Филтер дефинисан за неке бафере, као што су `/fset`, `/server raw` (irc) и `/script`. | host | било који стринг | Име вашег хоста (ако је познато), поставља је irc додатак. | lag | било који стринг | Кашњење у комуникацији са сервером, поставља је irc додатак. | name | било који стринг | Име бафера (пазите, ово није пуно име и није довољно за идентификацију или претрагу бафера). | nick | било који стринг | Ваш надимак, постављају је irc и xfer додаци. | no_log | `1` (или неки непразни стринг) | Ако је постављена, logger додатак уопште не логује овај бафер. | plugin | било који стринг | Име додатка који је креирао бафер (`core` за WeeChat бафере). | script_close_cb | било који стринг | Функција повратног позива за затварање бафера коју је дефинисала скрипта. | script_close_cb_data | било који стринг | Подаци за функцију повратног позива затварања бафера коју је дефинисала скрипта. | script_input_cb | било који стринг | Функција повратног позива за унос у бафер коју је дефинисала скрипта. | script_input_cb_data | било који стринг | Подаци за функцију повратног позива за унос у бафер коју је дефинисала скрипта. | script_name | било који стринг | Име скрипте која је креирала бафер. | server | било који стринг | Име сервера, поставља је irc додатак и дибаг бафер релеј/окидач додатака. | spell_suggest | било који стринг | Неисправно написана реч и предлози (формат: „неисправна:предлози”), поставља је spell додатак. | trigger_filter | било који стринг | Филтер окидача, поставља је окидач додатак. | type | било који стринг, на пример: `channel`, `debug`, `exec`, `option`, `private`, `relay`, `script`, `server`, `user`, `xfer` | Тип бафера, поставља је програм WeeChat и многи додаци. |=== [NOTE] Спољни додаци и скрипте могу да дефинишу и користе остале локалне променљиве. [[bars]] === Траке _трака_ је површина уз разговор која може да садржи било коју врсту текста. Опције траке могу да се поставе опцијама `weechat.bar.име.опција` где је `име` име траке, а `опција` опција за ту траку. Листа опција траке: [width="100%", cols="2m,2,10", options="header"] |=== | Опција | Вредности | Опис | type | `root`, `window` | Трака типа `root` се приказује тачно једном на екрану, ван свих прозора. Тип подразумеване траке _buflist_ је `root`. + Трака са типом `window` се приказује у сваком прозору, на пример ако поделите једном екран (са `/window splith` или `/window splitv`), имаћете једну траку у сваком прозору. Подразумеване траке _title_, _status_, _input_ и _nicklist_ су типа `window`. | position | `top`, `bottom`, `left`, `right` | Позиција траке: изнад/испод разговора, са леве/десне стране. | priority | цео број ≥ 0 | Приоритет за приказ траке: ово се користи за ређање трака на екрану када више трака имају исти тип и исту позицију. + Траке се приказују од ивице екрана према центру. Виши приоритет значи да ће се трака приказивати на почетку, дакле, ближе ивици. + Пример: _input_ трака има приоритет 1000, тако да се приказује испред _status_ траке, која има приоритет 500. | size | цео број ≥ 0 | Величина траке: број колона за позицију left/right, број линија за позицију top/bottom. Величина `0` значи аутоматски, тако да ће се величина израчунати у зависности од садржаја који се приказује у траци. | size_max | цео број ≥ 0 | Максимална величина траке, `0` = нема ограничења (ова опција се користи само ако је `size` = `0`). | color_bg | боја | Подразумевана боја позадине траке. | color_fg | боја | Подразумевана боја текста у траци. | color_delim | боја | Боја граничника у траци. | hidden | `on`, `off` | Када је ова опција `on`, трака је скривена. + Напомена: уместо да мењате ову опцију, боље је да користите команду `/bar`, на пример: `/bar toggle nicklist` (погледајте команду <>). | separator | `on`, `off` | Када је ова опција `on`, између ове траке и осталих (или разговора) се приказује граничник (линија). | items | стринг | Листа _items_ (погледајте <> за више информација). | filling_left_right | `+horizontal+`, `+vertical+`, `+columns_horizontal+`, `+columns_vertical+` | Тип испуне за траку која има позицију `left` или `right` (погледајте <> за више информација). | filling_top_bottom | `+horizontal+`, `+vertical+`, `+columns_horizontal+`, `+columns_vertical+` | Тип испуне за траку која има позицију `top` или `bottom` (погледајте <> за више информација). | conditions | стринг | Услови под којима се трака приказује (погледајте <> за више информација). |=== [[bar_items]] ==== Ставке Опција _items_ је стринг са листом ставки траке, раздвојених запетом (ставке су на екрану раздвојене размаком) или `+++` (спојене ставке). Листа ставки траке се приказује командом `/bar listitems`. Испред или након имена ставке можете да употребите карактере (који нису слова или цифре, `+-+` или `+_+`). Они ће се приказивати испред/иза ставке у боји граничника која је дефинисана за траку (опција _color_delim_). Пример за траку са ставкама „[time],buffer_number+:+buffer_plugin+.+buffer_name”: .... ┌───────────────────────────────────────────────────────────────────────────┐ │[12:55] 3:irc/libera.#weechat │ └───────────────────────────────────────────────────────────────────────────┘ .... Ако желите да форсирате бафер у којем ће се приказивати ставка траке, употребите посебну синтаксу: „@бафер:ставка” (где је „бафер” пуно име бафера, а „ставка” је име ставке траке). Ово је корисно у кореним (root) тракама код приказа ставке за неки одређени бафер који се не приказује у текућем прозору (или се чак уопште не приказује). Пример: листа надимака за bitlbee у кореној траци (ако се трака зове _bitlist_ а bitlbee сервер се зове _bitlbee_): ---- /set weechat.bar.bitlist.items "@irc.bitlbee.&bitlbee:buffer_nicklist" ---- [[bar_filling]] ==== Испуна Постоји четири врсте испуне: * `+horizontal+`: ставке се приказују хоризонтално, с лева у десно. Ако у ставкама постоје преломи линија, за раздвајање линија се користи размак. * `+vertical+`: ставке се приказују од врха ка дну. Ако у ставкама постоје преломи линија, за раздвајање линија се користи прелом линија. * `+columns_horizontal+`: ставке се приказују по колонама, уз лево поравнат текст. Прва ставка је горе лево, друга у истој линији, са њене десне стране. * `+columns_vertical+`: ставке се приказују по колонама, уз лево поравнат текст. Прва ставка је горе лево, друга ставка је једну линију испод. Подразумеване траке _title_, _status_ и _input_ имају _horizontal_ испуну, а подразумевана трака _nicklist_ има _vertical_ испуну. Неки примери испуне за траку _nicklist_: .... ┌───────────────────────────────────────────────────────────────────────┐ │Добродошли на #test, ово је тест канал │ │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 ▲ ┌───────────────────────────────────────────────────────────────────────┐ │Добродошли на #test, ово је тест канал │ │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]] ==== Услови Опција _conditions_ је стринг који се израчунава како би се одредило да ли трака сме да се прикаже или не. Стринг може да буде: * _active_: прозор мора бити активан * _inactive_: прозор мора бити неактиван * _nicklist_: бафер који се приказује у прозору мора имати листу надимака * израз: израчунава се као логичка вредност (погледајте команду <>) У изразу су доступне следеће променљиве: * `+${active}+`: истинито ако је прозор активан * `+${inactive}+`: истинито ако је прозор неактиван * `+${nicklist}+`: истинито ако бафер приказан у прозору има листу надимака Доступни су следећи показивачи: * `+${window}+`: прозор за који се израчунава услов * `+${buffer}+`: бафер прозора за који се израчунава услов Пример за приказ nicklist траке у свим баферима са листом надимака, само ако је ширина терминала > 100: ---- /set weechat.bar.nicklist.conditions "${nicklist} && ${info:term_width} > 100" ---- Исти услов, само што се листа надимака увек приказује у баферу _&bitlbee_ (чак и ако је терминал мали): ---- /set weechat.bar.nicklist.conditions "${nicklist} && (${info:term_width} > 100 || ${buffer.full_name} == irc.bitlbee.&bitlbee)" ---- [[bare_display]] === Огољени приказ Да бисте једноставно кликнули на дугачке URL адресе и бирали текст (користећи миша), можете употребити посебан приказ који се зове „огољени приказ”. Огољени приказ има следеће особине: * Приказује само садржај текућег бафера: нема ни подељених прозора ни трака (нема наслова, листе надимака, статуса, уноса, ...). * Подршка за миш програма WeeChat је искључена (ако је била укључена): миш можете да користите на исти начин као у терминалу, да кликћете на URL адресе и вршите избор текста. * Ncurses се не користи, тако да се URL адресе не секу на крају линије. Подразумевани тастер којим се укључује огољени приказ је kbd:[Alt+l] (`L`), и истим тастером се напушта (или као што је подразумевано, било шта што мења унос ће изазвати напуштање огољеног приказа, погледајте опцију <>). Формат приказа времена може да се прилагоди опцијом <>. Огољени приказ може да се укључи на неко одређено време командом <>. Ако програм WeeChat изгледа на следећи начин: .... ┌──────────────────────────────────────────────────────────────────────────────────────┐ │1.libera │Добродошли на #abc │ │ weechat│12:52:27 --> | Flashy (flashcode@weechat.org) је приступио у #abc │@Flashy│ │2. #test│12:52:27 -- | Надимци #abc: [@Flashy @joe +weebot peter] │@joe │ │3. #abc │12:52:27 -- | Канал #abc: 4 надимка (2 опа, 1 глас, 1 обични) │+weebot│ │4. #def │12:52:27 -- | Канал је креиран у Уто Јан 27 06:30:17 2009 │peter │ │5. #ghi │12:54:15 peter | hey! │ │ │ │12:55:01 @joe | peter: hook_process: https://weechat.org/files/do │ │ │ │ | c/devel/weechat_plugin_api.en.html#_weechat_hook_ │ │ │ │ | process │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │[12:55] [5] [irc/libera] 3:#abc(+n){4} │ │ │[@Flashy(i)] hi peter!█ │ └──────────────────────────────────────────────────────────────────────────────────────┘ .... Екран у огољеном приказу ће изгледати овако: .... ┌───────────────────────────────────────────────────────────────────────────────────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │12:52 --> Flashy (flashcode@weechat.org) је приступио у #abc │ │12:52 -- Надимци #abc: [@Flashy @joe +weebot peter] │ │12:52 -- Канал #abc: 4 надимка (2 опа, 1 глас, 1 обичан) │ │12:52 -- Канал је креиран у Уто Јан 27 06:30:17 2009 │ │12:54 hey! │ │12:55 <@joe> peter: hook_process: https://weechat.org/files/doc/devel/weechat_plugin_ap│ │i.en.html#_weechat_hook_process │ └───────────────────────────────────────────────────────────────────────────────────────┘ .... Тако да у свом терминалу без проблема можете кликнути на URL адресу од надимка _joe_ (наравно, ово претпоставља да ваш терминал подржава кликове на URL адресе). [[notify_levels]] === Нивои обавештавања [[setup_notify_levels]] ==== Постављање нивоа обавештавања У порукама које се приказују у баферима може постојати четири нивоа, од нижег ка вишем: * _low_: важност поруке је мала (на пример, irc join/part/quit порука) * _message_: порука од корисника * _private_: порука у приватном баферу * _highlight_: порука са истицањем Сваки бафер поседује ниво обавештавања који се користи за одлуку које поруке се додају на врућу листу бафера. Подразумевани ниво обавештавања може да се постави опцијом <>, подразумевана вредност је _all_. [width="75%", cols="2m,7", options="header"] |=== | Ниво обавештавања | Ниво порука које се додају на врућу листу | none | (ниједна) | highlight | _highlight_ + _private_ | message | _highlight_ + _private_ + _message_ | all | _highlight_ + _private_ + _message_ + _low_ |=== Ниво обавештавања може да се дефинише за скуп бафера, на пример за све бафере irc сервера „libera”: ---- /set weechat.notify.irc.libera message ---- Постављање нивоа обавештавања _highlight_ само на каналу „#weechat”: ---- /set weechat.notify.irc.libera.#weechat highlight ---- Ниво обавештавања за бафер може да се постави командом `/buffer`: ---- /buffer notify highlight ---- [[max_hotlist_level_nicks]] ==== Максимални ниво вруће листе за надимке За неке надимке је могуће постављање максималног нивоа вруће листе, по баферу или по групи бафера (као што су IRC сервери). Особина бафера „hotlist_max_level_nicks” може да се постави на листу надимака, а за сваки надимак у листи максимални ниво вруће листе који се окида. Могући су следећи нивои: * -1: за надимак нема измене вруће листе * 0: ниски приоритет (као што су join/part поруке) * 1: порука * 2: приватна порука * 3: истицање (у суштини је бескорисно, јер је за све поруке већ подразумевани максимум) На пример, ако желите да искључите истицања од „joe” и „mike” у текућем баферу: ---- /buffer set hotlist_max_level_nicks_add joe:2,mike:2 ---- [NOTE] Особина бафера „hotlist_max_level_nicks” се не чува у конфигурацији. + Лако можете да је сачувате скриптом _buffer_autoset.py_: инсталирате је командом `+/script install buffer_autoset.py+`, а помоћ добијате са `+/help buffer_autoset+`. [[highlights]] === Истицања [[highlights_words]] ==== Додавање речи које се истичу Програм WeeChat подразумевано истиче поруке од осталих корисника које садрже у себи ваш надимак, тако да истицање зависи од бафера (ваш надимак не мора да буде исти у свим баферима). Остале речи моожете да додате опцијом <>, на пример ако желите да се истиче ваш надимак и „реч1”, „реч2”, као и све речи које почињу са „test”: ---- /set weechat.look.highlight реч1,реч2,test* ---- Ако вам је потребно одређеније правило за реч, можете да употребите регуларне изразе опцијом <>, на пример да истакнете речи „flashcode”, „flashcöde” и „flashy”: ---- /set weechat.look.highlight_regex flashc[oö]de|flashy ---- Граничници око речи које се истичу могу да се прилагоде опцијом <>. [[highlights_tags]] ==== Додавање ознака истицању Приказане линије могу да садрже „ознаке” које пружају неке информације о пореклу само поруке. + Ознаке можете приказати командом `/debug tags` (иста команда их и сакрива). Опцијом <> можете да додате одређене ознаке истицању. Ознаке се раздвајају запетама и више ознака можете да раздвојите са `+++` чиме наводите логичко „и” међу њима. На пример, ако желите да се истичу све поруке од надимка „FlashCode” и сва обавештења од надимака који почињу са „toto”: ---- /set weechat.look.highlight_tags "nick_flashcode,irc_notice+nick_toto*" ---- [[highlights_regex_buffer]] ==== Постављање посебних истицања у баферу Истицање помоћу регуларног израза можете да форсирате особином бафера „highlight_regex”. На пример, да форсирате истицање свих порука у текућем баферу: ---- /buffer set highlight_regex .* ---- [NOTE] Особина бафера „highlight_regex” се не чува у конфигурацији. + Лако можете да је сачувате скриптом _buffer_autoset.py_: инсталирате је командом `+/script install buffer_autoset.py+`, а помоћ добијате са `+/help buffer_autoset+`. [[key_bindings]] === Подразумеване тастерске пречице [[key_bindings_command_line]] ==== Тастери за командну линију [width="100%", cols="^.^3,.^8,.^5", options="header"] |=== | Тастер | Опис | Команда | kbd:[←] + kbd:[Ctrl+b] | Одлазак на претходни карактер у командној линији. | `+/input move_previous_char+` | kbd:[→] + kbd:[Ctrl+f] | Одлазак на наредни карактер у командној линији. | `+/input move_next_char+` | kbd:[Ctrl+←] + kbd:[Alt+b] | Одлазак на претходну реч у командној линији. | `+/input move_previous_word+` | kbd:[Ctrl+→] + kbd:[Alt+f] | Одлазак на наредну реч у командној линији. | `+/input move_next_word+` | kbd:[Home] + kbd:[Ctrl+a] | Одлазак на почетак командне линије. | `+/input move_beginning_of_line+` | kbd:[End] + kbd:[Ctrl+e] | Одлазак на крај командне линије. | `+/input move_end_of_line+` | kbd:[Ctrl+c], kbd:[b] | Уметање кода за подебљани текст. | `+/input insert \x02+` | kbd:[Ctrl+c], kbd:[c] | Уметање кода за обојени текст. | `+/input insert \x03+` | kbd:[Ctrl+c], kbd:[i] | Уметање кода за текст у курзиву. | `+/input insert \x1D+` | kbd:[Ctrl+c], kbd:[o] | Уметање кода за ресет боје. | `+/input insert \x0F+` | kbd:[Ctrl+c], kbd:[v] | Уметање кода за обрнуту боју. | `+/input insert \x16+` | kbd:[Ctrl+c], kbd:[_] | Уметање кода за подвучени текст. | `+/input insert \x1F+` | kbd:[Del] + kbd:[Ctrl+d] | Брисање наредног карактера у командној линији. | `+/input delete_next_char+` | kbd:[Backsp.] + kbd:[Ctrl+h] | Брисање претходног карактера у командној линији. | `+/input delete_previous_char+` | kbd:[Ctrl+k] | Брисање од курсора до краја командне линије (обрисани стринг се копира у интерни клипборд). | `+/input delete_end_of_line+` | kbd:[Ctrl+r] | Претрага на текст у историји бафера (погледајте <>). | `+/input search_text_here+` | kbd:[Ctrl+t] | Транспозиција карактера. | `/input transpose_chars` | kbd:[Ctrl+u] | Брисање од курсора до почетка командне линије (обрисани стринг се копира у интерни клипборд). | `+/input delete_beginning_of_line+` | kbd:[Ctrl+w] | Брисање претходне речи командне линије (обрисани стринг се копира у интерни клипборд). | `+/input delete_previous_word+` | kbd:[Ctrl+y] | Налепљивање садржаја интерног клипборда. | `+/input clipboard_paste+` | kbd:[Ctrl+_] | Поништавање последње акције у командној линији. | `+/input undo+` | kbd:[Alt+_] | Враћање последње поништене акције у командној линији. | `+/input redo+` | kbd:[Tab] | Довршавање команде или надимка (kbd:[Tab] поново: проналажење наредног довршавања). | `+/input complete_next+` | kbd:[Shift+Tab] | Без довршавања: обављање парцијалног довршавања, са довршавањем на чекању: довршавање са претходно пронађеним појмом. | `+/input complete_previous+` | kbd:[Enter] + kbd:[Ctrl+j] + kbd:[Ctrl+m] | Извршавање команде или слање поруке (у режиму претраге: заустављање претраге). | `+/input return+` | kbd:[Alt+Enter] | Умеће прелом реда. | `+/input insert \n+` | kbd:[↑] | Позив претходне команде/поруке (у режиму претраге: претрага навише). | `+/input history_previous+` | kbd:[↓] | Позив наредне команде/поруке (у режиму претраге: претрага наниже). | `+/input history_next+` | kbd:[Ctrl+↑] | Позив претходне команде/поруке у глобалној историји (заједничкој за све бафере). | `+/input history_global_previous+` | kbd:[Ctrl+↓] | Позив наредне команде/поруке у глобалној историји (заједничкој за све бафере). | `+/input history_global_next+` | kbd:[Alt+d] | Брисање наредне речи у командној линији (обрисани стринг се копира у интерни клипборд). | `+/input delete_next_word+` | kbd:[Alt+k] | Хвата тастер и умеће његов кôд (и комадну везану за њега, ако постоји таква пречица) у командну линију. | `+/input grab_key_command+` | kbd:[Alt+r] | Брише комплетну командну линију. | `+/input delete_line+` | kbd:[Alt+s] | Пребацује стање активности модула за проверу правописа. | `+/mute spell toggle+` |=== [[key_bindings_buffers_windows]] ==== Тастери за бафере / прозоре [width="100%", cols="^.^3,.^8,.^5", options="header"] |=== | Тастер | Опис | Команда | kbd:[Ctrl+l] (`L`) | Поново исцртава цео прозор. | `+/window refresh+` | kbd:[Ctrl+s], kbd:[Ctrl+u] | Поставља маркер непрочитано за све бафере. | `+/input set_unread+` | kbd:[Ctrl+x] | Пребацује текући бафер ако су бафери прикачени са истим бројем. | `+/input switch_active_buffer+` | kbd:[Alt+x] | Зум на спојени бафер (kbd:[Alt+x] поново: приказује све спојене бафере). | `+/input zoom_merged_buffer+` | kbd:[PgUp] | Скролује навише једну страну у историји бафера. | `+/window page_up+` | kbd:[PgDn] | Скролује наниже једну страну у историји бафера. | `+/window page_down+` | kbd:[Alt+PgUp] | Скролује навише неколико линија у историји бафера. | `+/window scroll_up+` | kbd:[Alt+PgDn] | Скролује наниже неколико линија у историји бафера. | `+/window scroll_down+` | kbd:[Alt+Home] | Скролује на врх бафера. | `+/window scroll_top+` | kbd:[Alt+End] | Скролује на дно бафера. | `+/window scroll_bottom+` | kbd:[F1] + kbd:[Ctrl+F1] | Скролује навише једну страну листе бафера. | `+/bar scroll buflist * -100%+` | kbd:[F2] + kbd:[Ctrl+F2] | Скролује наниже једну страну листе бафера. | `+/bar scroll buflist * +100%+` | kbd:[Alt+F1] | Скок на почетак листе бафера. | `+/bar scroll buflist * b+` | kbd:[Alt+F2] | Скок на крај листе бафера. | `+/bar scroll buflist * e+` | kbd:[Alt+←] + kbd:[Alt+↑] + kbd:[Ctrl+p] + kbd:[F5] | Пребацивање на претходни бафер. | `+/buffer -1+` | kbd:[Alt+→] + kbd:[Alt+↓] + kbd:[Ctrl+n] + kbd:[F6] | Пребацивање на наредни бафер. | `+/buffer +1+` | kbd:[F7] | Пребацивање на претходни прозор. | `+/window -1+` | kbd:[F8] | Пребацивање на наредни прозор. | `+/window +1+` | kbd:[F9] | Скролује наслов бафера у лево. | `+/bar scroll title * -30%+` | kbd:[F10] | Скролује наслов бафера у десно. | `+/bar scroll title * +30%+` | kbd:[F11] + kbd:[Ctrl+F11] | Скролује једну страну навише у листи надимака. | `+/bar scroll nicklist * -100%+` | kbd:[F12] + kbd:[Ctrl+F12] | Скролује једну страну наниже у листи надимака. | `+/bar scroll nicklist * +100%+` | kbd:[Alt+F11] | Скок на почетак листе надимака. | `+/bar scroll nicklist * b+` | kbd:[Alt+F12] | Скок на крај листе надимака. | `+/bar scroll nicklist * e+` | kbd:[Alt+a] | Пребацивање на следећи бафер у коме има активности (са приоритетом: истицање, порука, остало). | `+/input jump_smart+` | kbd:[Alt+Shift+B] | Пребацивање активности листе бафера. | `+/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] | Пребацивање на први бафер. | `+/buffer -+` | kbd:[Alt+j], kbd:[Alt+l] (`L`) | Пребацивање на последњи бафер. | `+/buffer ++` | kbd:[Alt+j], kbd:[Alt+r] | Пребацивање на сирови IRC бафер. | `+/server raw+` | kbd:[Alt+j], kbd:[Alt+s] | пребацивање на бафер IRC сервера. | `+/server jump+` | kbd:[Alt+0...9] | Пребацивање на бафер према броју (0 = 10). | `+/buffer *N+` | kbd:[Alt+j], kbd:[01...99] | Пребацивање на бафер према броју. | `+/buffer *NN+` | kbd:[Alt+l] (`L`) | Пребацивање активности огољеног приказа. | `+/window bare+` | kbd:[Alt+m] | Пребацивање активности миша. | `+/mouse toggle+` | kbd:[Alt+n] | Скроловање до наредног истицања. | `+/window scroll_next_highlight+` | kbd:[Alt+Shift+N] | Пребацивање видљивости траке листе надимака. | `+/bar toggle nicklist+` | kbd:[Alt+p] | Скроловање на претходно истицање. | `+/window scroll_previous_highlight+` | kbd:[Alt+u] | Скроловање на прву непрочитану линију у баферу. | `+/window scroll_unread+` | kbd:[Alt+w], kbd:[Alt+↑] | Прелаз на прозор изнад. | `+/window up+` | kbd:[Alt+w], kbd:[Alt+↓] | Прелаз на прозор испод. | `+/window down+` | kbd:[Alt+w], kbd:[Alt+←] | Прелаз на прозор са леве стране. | `+/window left+` | kbd:[Alt+w], kbd:[Alt+→] | Прелаз на прозор са десне стране. | `+/window right+` | kbd:[Alt+w], kbd:[Alt+b] | Уједначавање величине свих прозора. | `+/window balance+` | kbd:[Alt+w], kbd:[Alt+s] | Замена бафера два прозора. | `+/window swap+` | kbd:[Alt+z] | Зум на текући прозор (kbd:[Alt+z] поново: враћање почетног стања прозора, пре зумирања). | `+/window zoom+` | kbd:[Alt+<] | Прелаз на претходни бафер у листи посећених бафера. | `+/input jump_previously_visited_buffer+` | kbd:[Alt+>] | Прелаз на наредни бафер у листи посећених бафера. | `+/input jump_next_visited_buffer+` | kbd:[Alt+/] | Прелаз на последње приказани бафер. | `+/input jump_last_buffer_displayed+` | kbd:[Alt+=] | Пребацивање активности филтера. | `+/filter toggle+` | kbd:[Alt+-] | Пребацивање активности филтера у текућем баферу. | `+/filter toggle @+` |=== [[key_bindings_search_context]] ==== Тастери за „search” контекст Следећи тастери се користе у „search” контексту (када се притисне kbd:[Ctrl+r] за претрагу текста у баферу). [width="100%", cols="^.^3,.^8,.^5", options="header"] |=== | Тастер | Опис | Команда | kbd:[Ctrl+r] | Пребацивање типа претраге: стринг (подраз.), регуларни израз. | `+/input search_switch_regex+` | kbd:[Alt+c] | Пребацивање разликовања величине слова у претраци. | `+/input search_switch_case+` | kbd:[Tab] | Пребацивање претраге у: порукама (подраз.), префиксима, префиксима + порукама. | `+/input search_switch_where+` | kbd:[↑] | Претрага претходне линије. | `+/input search_previous+` | kbd:[↓] | Претрага наредне линије. | `+/input search_next+` | kbd:[Enter] + kbd:[Ctrl+j] + kbd:[Ctrl+m] | Заустављање претраге на текућој позицији. | `+/input search_stop_here+` | kbd:[Ctrl+q] | Заустављање претраге и скроловање на дно бафера. | `+/input search_stop+` |=== [[key_bindings_cursor_context]] ==== Тастери за „cursor” контекст Ови тастери се користе у „cursor” контексту (слободно померање курсора по екрану). [width="100%", cols="^.^3,^.^2,.^7,.^7", options="header"] |=== | Тастер | Површина | Опис | Команда | kbd:[↑] | - | Помера курсор једну линију навише. | `+/cursor move up+` | kbd:[↓] | - | Помера курсор једну линију наниже. | `+/cursor move down+` | kbd:[←] | - | Помера курсор једну колони у лево. | `+/cursor move left+` | kbd:[→] | - | Помера курсор једну колону у десно. | `+/cursor move right+` | kbd:[Alt+↑] | - | Помера курсор једну површину навише. | `+/cursor move area_up+` | kbd:[Alt+↓] | - | Помера курсор једну површину наниже. | `+/cursor move area_down+` | kbd:[Alt+←] | - | Помера курсор једну површину у лево. | `+/cursor move area_left+` | kbd:[Alt+→] | - | Помера курсор једну површину у десно. | `+/cursor move area_right+` | kbd:[m] | чет | Цитирање поруке. | `+hsignal:chat_quote_message;/cursor stop+` | kbd:[q] | чет | Цитирање префикса + поруке. | `+hsignal:chat_quote_prefix_message;/cursor stop+` | kbd:[Q] | чет | Quote time + prefix + message. | `+hsignal:chat_quote_time_prefix_message;/cursor stop+` | kbd:[b] | листа надимака | Забрањује надимак. | `+/window ${_window_number};/ban ${nick}+` | kbd:[k] | листа надимака | Избацује надимак. | `+/window ${_window_number};/kick ${nick}+` | kbd:[K] | листа надимака | Избацује и забрањује надимак. | `+/window ${_window_number};/kickban ${nick}+` | kbd:[q] | листа надимака | Отвара упит са надимком. | `+/window ${_window_number};/query ${nick};/cursor stop+` | kbd:[w] | листа надимака | Извршава whois над надимком. | `+/window ${_window_number};/whois ${nick}+` | kbd:[Enter] + kbd:[Ctrl+j] + kbd:[Ctrl+m] | - | Зауставља режим померања курсора | `/cursor stop` |=== [[key_bindings_mouse_context]] ==== Тастери за „mouse” контекст Ови тастери се користе у „mouse” контексту, то јест када се јаве догађаји миша. [width="100%", cols="^.^3,^.^3,^.^3,.^8,.^8", options="header"] |=== | Тастер/Точкић ^(1)^ | Гестикулација | Површина | Опис | Команда | ◾◽◽ | - | чет | Пребацивање на прозор. | `+/window ${_window_number}+` | ◾◽◽ | лево | чет | Пребацивање на претходни бафер. | `+/window ${_window_number};/buffer +1+` | ◾◽◽ | десно | чет | Пребацивање на наредни бафер. | `+/window ${_window_number};/buffer +1+` | ◾◽◽ | лево (дуго) | чет | Пребацивање на први бафер. | `+/window ${_window_number};/buffer 1+` | ◾◽◽ | десно (дуго) | чет | Пребацивање на последњи бафер. | `+/window ${_window_number};/input jump_last_buffer+` | kbd:[▲] | - | чет | Скролује навише неколико линија у историји бафера. | `+/window scroll_up -window ${_window_number}+` | kbd:[▼] | - | чет | Скролује наниже неколико линија у историји бафера. | `+/window scroll_down -window ${_window_number}+` | kbd:[Ctrl+▲] | - | чет | Скролује хоризонтално у лево. | `+/window scroll_horiz -window ${_window_number} -10%+` | kbd:[Ctrl+▼] | - | чет | Скролује хоризонтално у десно. | `+/window scroll_horiz -window ${_window_number} +10%+` | kbd:[▲] | - | чет: fset бафер | Помера за пет линија навише у fset баферу. | `+/fset -up 5+` | kbd:[▼] | - | чет: fset бафер | Помера за пет линија наниже у fset баферу. | `+/fset -down 5+` | ◾◽◽ | - | чет: fset бафер | Бира линију у fset баферу. | `+/window ${_window_number};/fset -go ${_chat_line_y}+` | ◽◽◾ | - | чет: fset бафер | Пребацује логичку вредност (on/off) или уређује вредност опције. | `+hsignal:fset_mouse+` | ◽◽◾ | лево | чет: fset бафер | Умањује вредност за цео број/боју, поставља/надовезује вредност за остале типове. | `+hsignal:fset_mouse+` | ◽◽◾ | десно | чет: fset бафер | Увећава вредност за цео број/боју, поставља/надовезује вредност за остале типове. | `+hsignal:fset_mouse+` | ◽◽◾ | горе / доле | чет: fset бафер | Маркира/уклања маркер са више опција. | `+hsignal:fset_mouse+` | kbd:[▲] | - | чет: script бафер | Помера за пет линија навише у script баферу. | `+/script up 5+` | kbd:[▼] | - | чет: script бафер | Помера за пет линија наниже у script баферу. | `+/script down 5+` | ◾◽◽ | - | chat: script бафер | Бира линију у script баферу. | `+/script go ${_chat_line_y}+` | ◽◽◾ | - | chat: script бафер | Инсталира/уклања скрипту. | `+/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}+` | ◾◽◽ | горе / лево | листа бафера | Помера бафер на нижи број. | Signal `+buflist_mouse+`. | ◾◽◽ | доле / десно | листа бафера | Помера бафер на виши број. | Signal `+buflist_mouse+`. | ◾◽◽ | - | листа бафера | Пребацивање на бафер (претходно посећени багер ако је бафер текући). | Signal `+buflist_mouse+`. | ◽◽◾ | - | листа бафера | Пребацивање на наредни посећени бафер ако је бафер текући. | Signal `+buflist_mouse+`. | kbd:[Ctrl+▲] | - | листа бафера | Пребацивање на претходни бафер. | Signal `+buflist_mouse+`. | kbd:[Ctrl+▼] | - | листа бафера | Пребацивање на наредни бафер. | Signal `+buflist_mouse+`. | ◾◽◽ | горе | листа надимака | Скроловање једне стране навише у листи надимака. | `+/bar scroll nicklist ${_window_number} -100%+` | ◾◽◽ | доле | листа надимака | Скроловање једне стране наниже у листи надимака. | `+/bar scroll nicklist ${_window_number} +100%+` | ◾◽◽ | горе (дуго) | листа надимака | Скок на почетак листе надимака. | `+/bar scroll nicklist ${_window_number} b+` | ◾◽◽ | доле (дуго) | листа надимака | Скок на крај листе надимака. | `+/bar scroll nicklist ${_window_number} e+` | ◾◽◽ | - | листа надимака | Отварање упита са надимком. | `+/window ${_window_number};/query ${nick}+` | ◽◽◾ | - | листа надимака | Извршавање whois над надимком. | `+/window ${_window_number};/whois ${nick}+` | ◾◽◽ | лево | листа надимака | Избацивање надимка. | `+/window ${_window_number};/kick ${nick}+` | ◾◽◽ | лево (дуго) | листа надимака | Избацивање и забрана надимка. | `+/window ${_window_number};/kickban ${nick}+` | ◽◽◾ | лево | листа надимака | Забрана надимка. | `+/window ${_window_number};/ban ${nick}+` | ◽◽◾ | - | унос | Хвата догађај миша и умеће његов кôд у командну линију. | `+/input grab_mouse_area+` | kbd:[▲] | - | било која трака | Скролује траку за -20%. | `+/bar scroll ${_bar_name} ${_window_number} -20%+` | kbd:[▼] | - | било која трака | Скролује траку за +20%. | `+/bar scroll ${_bar_name} ${_window_number} +20%+` | ◽◾◽ | - | било где | Започиње режим померања курсора на овој тачки. | `+/cursor go ${_x},${_y}+` |=== [NOTE] ^(1)^ kbd:[▲] и kbd:[▼] значе точкић навише и наниже. [[key_bindings_fset_buffer]] ==== Тастери за fset бафер Ови тастери и акције се користе у fset баферу (погледајте<>). [width="100%", cols="^.^3,^.^2,.^8,.^5", options="header"] |=== | Тастер | Акција ^(1)^ | Опис | Команда | kbd:[↑] | | Помера једну линију навише. | `+/fset -up+` | kbd:[↓] | | Помера једну линију наниже. | `+/fset -down+` | kbd:[PgUp] | | Помера једну страну навише. | `+/window page_up+` | kbd:[PgDn] | | Помера једну страну наниже. | `+/window page_down+` | kbd:[Alt+Home] | `pass:[<<]` | Скок на прву линију. | `+/fset -go 0+` | kbd:[Alt+End] | `pass:[>>]` | Скок на последњу линију. | `+/fset -go end+` | kbd:[F11] | `pass:[<]` | Скролује хоризонтално у лево. | `+/fset -left+` | kbd:[F12] | `pass:[>]` | Скролује хоризонтално у десно. | `+/fset -right+` | kbd:[Alt+Space] | `t` | Пребацује стање логичке вредности. | `+/fset -toggle+` | kbd:[Alt+-] | `-` | Одузима 1 од вредности за цео број/боју, поставља вредност за остале типове. | `+/fset -add -1+` | kbd:[Alt++] | `+` | Додаје 1 на вредност за цео број/боју, надовезује вредност за остале типове. | `+/fset -add 1+` | kbd:[Alt+f], kbd:[Alt+r] | `r` | Ресетује вредност. | `+/fset -reset+` | kbd:[Alt+f], kbd:[Alt+u] | `u` | Поставља да је вредност празна. | `+/fset -unset+` | kbd:[Alt+Enter] | `s` | Поставља вредност. | `+/fset -set+` | kbd:[Alt+f], kbd:[Alt+n] | `n` | Поставља нову вредност. | `+/fset -setnew+` | kbd:[Alt+f], kbd:[Alt+a] | `a` | Надовезује на вредност. | `+/fset -append+` | kbd:[Alt+,] | `,` | Маркира/уклања маркирање са опције. | `+/fset -mark 1+` | kbd:[Shift+↑] | | Помера једну линију навише и маркира/уклања маркирање са опције. | `+/fset -up; /fset -mark+` | kbd:[Shift+↓] | | Маркира/уклања маркирање са опције и помера се једну линију наниже. | `+/fset -mark; /fset -down+` | | `m:xxx` | Маркира приказане опције које се подударају са филтером „xxx” (дозвољава се било који филтер над опцијом или вредности, погледајте <>). | | | `u:xxx` | Уклања маркирање са приказаних опција које се подударају са филтером „xxx” (дозвољава се било који филтер над опцијом или вредности, погледајте <>). | | kbd:[Ctrl+l] (`L`) | | Освежава опције и цео екран. | `+/fset -refresh+` | | `$` | Освежава опције (маркиране опције остају маркиране). | | | `$$` | Освежава опције (уклања се маркирање са свих опција). | | kbd:[Alt+p] | | Пребацује стање опција описа додатка (`pass:[plugins.desc.*]`). | `+/mute /set fset.look.show_plugins_desc toggle+` | kbd:[Alt+v] | | Пребацује стање видљивости траке помоћи. | `+/bar toggle fset+` | | `s:x,y` | Сортира опције по пољима x,y (погледајте опцију <>). | `+/mute /set fset.look.sort x,y+` | | `s:` | Ресетује сортирање на подразумевану вредност (погледајте опцију <>). | `+/mute /unset fset.look.sort+` | | `w:xxx` | Извози опције у фајл „xxx”. | `+/fset -export xxx+` | | `w-:xxx` | Извози опције у фајл „xxx” без помоћи. | `+/fset -export -nohelp xxx+` | | `w+:xxx` | Извози опције у фајл „xxx” заједно са помоћи. | `+/fset -export -help xxx+` | kbd:[Ctrl+x] | `x` | Пребацује формат који се користи за приказ опција. | `+/fset -format+` | | `q` | Затвара fset бафер. | `+/buffer close+` |=== [NOTE] ^(1)^ Акција мора да се унесе као унос у командну линију, након чега се притисне kbd:[Ентер]. [[key_bindings_script_buffer]] ==== Тастери за script бафер Ови тастери и акције се користе у script баферу (погледајте <>). [width="100%", cols="^.^3,^.^2,.^8,.^5", options="header"] |=== | Тастер | Акција ^(1)^ | Опис | Команда | kbd:[↑] | | Помера једну линију навише. | `+/script up+` | kbd:[↓] | | Помера једну линију наниже. | `+/script down+` | kbd:[PgUp] | | Помера једну страну навише. | `+/window page_up+` | kbd:[PgDn] | | Помера једну страну наниже. | `+/window page_down+` | kbd:[Alt+i] | `i` | Инсталира скрипту. | `+/script install+` | kbd:[Alt+r] | `r` | Брише скрипту. | `+/script remove+` | kbd:[Alt+l] (`L`) | `l` | Учитава скрипту. | `+/script load+` | kbd:[Alt+u] | `u` | Уклања скрипту из меморије. | `+/script unload+` | kbd:[Alt+Shift+A] | `A` | Аутоучитавање скрипте. | `+/script toggleautoload+` | kbd:[Alt+h] | `h` | Задржава/отпушта скрипту. | `+/script hold+` | kbd:[Alt+v] | `v` | Преглед скрипте. | `+/script show+` |=== [NOTE] ^(1)^ Акција мора да се унесе као унос у командну линију, након чега се притисне kbd:[Ентер]. [[mouse]] === Подршка за миша Програм WeeChat подржава кликове и гестикулације мишем. Ради са локалним терминалом, и удаљено преко ssh везе са или без screen/tmux. [[mouse_enable]] ==== Укључивање миша Ако при покретању програма желите да укључите миша: ---- /set weechat.look.mouse on ---- Ако тренутно желите да укључите миша, притисните kbd:[Alt+m] или извршите команду: ---- /mouse enable ---- Миш може привремено да се искључи, а то можете и да вежете за тастер. На пример тастер kbd:[Alt+%] да се на 10 секунди искључи миш: ---- /key bind meta-% /mouse toggle 10 ---- [IMPORTANT] Када се у програму WeeChat укључи миш, он хвата све догађаје миша, тако да се акције као што су копирање/налепљивање или кликови на URL адресе не шаљу терминалу. Употреба тастера kbd:[Shift] чини да се догађаји шаљу директно терминалу, као да је миш искључен (на неким терминалима као што је iTerm, морате уместо kbd:[Shift] да употребите kbd:[Alt]). [NOTE] Ако имате било какав проблем са мишем, молимо вас да погледате link:weechat_faq.sr.html#mouse[WeeChat ЧПП / Миш]. [[mouse_bind_events]] ==== Везивање догађаја миша за команде Програм WeeChat је већ дефинисао подразумеване догађаје миша (погледајте <>). Командом `/key`, уз употребу контекста „mouse”, можете да измените или да додате нова везивања тастера (у вези синтаксе, погледајте команду <>). Име догађаја се састоји од модификатора (није обавезан), имена тастера/точкића и гестикулације (није обавезна). Различити елементи се раздвајају са `+-+`. Листа модификатора: [width="100%", cols="1m,4", options="header"] |=== | Модификатор | Опис | ctrl | Тастер kbd:[Ctrl] | alt | Тастер kbd:[Alt] | ctrl-alt | Тастери kbd:[Ctrl] + kbd:[Alt] |=== Листа тастера/точкића: [width="100%", cols="1m,4", options="header"] |=== | Тастер/точкић | Опис | button1 | Клик левим тастером | button2 | Клик десним тастером | button3 | Клик средњим тастером (често је то клик точкићем) | button4 ... button9 | Клик на додатне тастере | wheelup | Точкић (навише) | wheeldown | Точкић (наниже) |=== Листа гестикулација (само за тастере, не за точкић): [width="100%", cols="1m,4", options="header"] |=== | Гестикулација | Растојање | 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 |=== Листа некомплетних догађаја (само за тастере, корисно је у додацима/скриптама): [width="100%", cols="1m,4", options="header"] |=== | Догађај | Опис | event-down | Тастер је притиснут, али још увек није отпуштен | event-drag | Миш је померен док се тастер држао притиснут |=== Примери догађаја: * `button1` * `ctrl-button1` * `button1-gesture-right` * `button1-event-down` * `button1-event-drag` * `alt-button2-gesture-down-long` * `wheelup` * `ctrl-alt-wheeldown` * ... [TIP] Када се тастер везује у „mouse” контексту, могуће је подударање са више догађаја користећи `+*+` на почетку или крају имена, на пример `+button1-gesture-*+` ће да се подудари са било којом гестикулацијом која користи леви тастер миша. [TIP] Име догађаја можете сазнати командом `+/input grab_mouse+`, па извршавањем догађаја мишем. Ово ће да уметне име догађаја који сете извели у командну линију. [[secured_data]] === Обезбеђени подаци [[secured_data_storage]] ==== Чување Програм WeeChat може да шифрује лозинке или приватне податке употребом обезбеђених података који се чувају у фајлу _sec.conf_. Овај конфигурациони фајл се чита пре свих осталих, па се вредности из њега могу користити у разним опцијама програма WeeChat или опцијама додатака/скрипти. Можете поставити тајну реченицу за шифровање података у фајлу _sec.conf_. То није обавезно, али се топло препоручује, јер ако то не учините подаци се у фајл уписују као чист текст. ---- /secure passphrase ово је моја тајна реченица ---- [[secured_data_passphrase_on_startup]] ===== Тајна реченица током покретања Када је тајна реченица постављена, програм WeeChat ће од вас тражити да је унесете током покретања програма (али не и током `/upgrade`). Ако користите менаџер лозинки, можете да покренете спољни програм из којег ће се прочитати лозинка, тако да не морате ручно да је уносите током покретања програма WeeChat. + На пример, са password-store (команда `pass`): ---- /set sec.crypt.passphrase_command "/usr/bin/pass show weechat/passphrase" ---- Програм може тражити да откључате свој GPG кључ или да унесете другу тајну реченицу како би могао да прочита тајну. Програм WeeChat ће сачекати да команда заврши своје извршавање и прочитаће тајну реченицу са стандардног излаза (она мора бити у првој линији, без икаквих додатних карактера). + Ако излаз не садржи тајну реченицу, или ако је она погрешна, програм WeeChat ће онда од вас тражити да је унесете. [[secured_data_encryption]] ===== Шифрирање Шифрирање података се ради у 3 корака: . Извођење кључа из тајне реченица (уз необавезну со). . Израчунавање хеша података који треба да се шифрирају. . Шифрирање хеша + података (излаз је: со + шифрирани хеш/подаци). [NOTE] Блок режим шифре је _CFB_. Резултат се као хексадецимални стринг поставља у фајл _sec.conf_, на пример: ---- [data] __passphrase__ = on libera = "53B1C86FCDA28FC122A95B0456ABD79B5AB74654F21C3D099A6CCA8173239EEA59533A1D83011251F96778AC3F5166A394" ---- [[secured_data_decryption]] ===== Дешифровање Дешифровање података се ради у 3 корака: . Извођење кључа употребом соли и тајне реченице. . Дешифровање хеша + података. . Провера да ли дешифровани хеш == хеш података. [[secured_data_manage]] ==== Управљање обезбеђеним подацима Да бисте додали обезбеђене податке, употребите `/secure set`, на пример лозинку за _libera_ IRC сервер: ---- /secure set libera мојалозинка ---- Да би се олакшао рад, обезбеђени подаци могу да се прикажу у посебном баферу (kbd:[Alt+v] у баферу да видите вредности), једноставно извршите: ---- /secure ---- Обезбеђени подаци могу да се користе у неким опцијама које садрже приватне податке као што су лозинке, употребом формата: „${sec.data.xxx}” где је „xxx” име обезбеђених података (постављених са `/secure set xxx ...`). + За комплетну листу подржаних опција, погледајте `/help secure`. Да бисте употребили _libera_ лозинку, на пример са <>: ---- /set irc.server.libera.sasl_password "${sec.data.libera}" ---- [[commands_and_options]] === Команде и опције [[weechat_commands]] ==== WeeChat команде include::includes/autogen_user_commands.sr.adoc[tag=weechat_commands] [[sec_options]] ==== Опције за обезбеђене податке Одељци у фајлу _sec.conf_: [width="100%", cols="3m,6m,16", options="header"] |=== | Одељак | Команда за контролу | Опис | crypt | /set sec.crypt.* | Опције за шифровање. | data | <> | Обезбеђени подаци. |=== Опције: include::includes/autogen_user_options.sr.adoc[tag=sec_options] [[weechat_options]] ==== WeeChat опције Одељци у фајлу _weechat.conf_: [width="100%", cols="3m,6m,16", options="header"] |=== | Одељак | Команда за контролу | Опис | debug | <> + /set weechat.debug.* | Дибаг ниво, за језгро и додатке (у одељку је могуће додавање/уклањање опција). | startup | /set weechat.startup.* | Опције покретања програма. | look | /set weechat.look.* | Изглед и осећај. | palette | <> + /set weechat.palette.* | Алијаси боја (у одељку је могуће додавање/уклањање опција). | color | /set weechat.color.* | Боје. | completion | /set weechat.completion.* | Опције довршавања. | history | /set weechat.history.* | Опције историје (команди и бафера). | proxy | <> + /set weechat.proxy.* | Прокси опције. | network | /set weechat.network.* | Мрежне/SSL опције. | plugin | /set weechat.plugin.* | Опције додатака. | signal | /set weechat.signal.* | Опције сигнала. | bar | <> + /set weechat.bar.* | Опције трака. | layout | <> | Распореди. | notify | <> | Нивои обавештавања за бафере (у одељку је могуће додавање/уклањање опција). | filter | <> | Филтери. | key | <> | Тастери у подразумеваном контексту. | key_search | <> | Тастери у search контексту. | key_cursor | <> | Тастери у cursor контексту. | key_mouse | <> | Тастери у mouse конексту. |=== Опције: include::includes/autogen_user_options.sr.adoc[tag=weechat_options] [[plugins]] == Додаци Додатак је динамичка библиотека коју учитава програм WeeChat, написана на језику C и компајлирана. На GNU/Linux систему, фајл има „.so” екстензију, а „.dll” на систему Windows. Додаци се аутоматски учитавају током покретања програма WeeChat, а могу да се учитавају или уклањају из меморије док се програм WeeChat извршава. Важно је да се направи разлика између _додатка_ и _скрипте_: _додатак_ је бинарни фајл који се компајлира и учитава командом `/plugin`, док је _скрипта_ текст фајл који се учитава додатком као што је _python_ командом `/python`. За учитавање/уклањање из меморије можете користити команду `/plugin`, или да прикажете листу свих учитаних додатака. Када се додатак уклони из меморије, програм WeeChat уклања: * бафере * конфигурационе опције (опције се уписују у фајлове) * све куке: команде, модификатори, процес, итд. * инфо и инфолисте * hdata * ставке траке Примери учитавања, уклањања из меморије или приказа листе додатака: ---- /plugin load irc /plugin unload irc /plugin list ---- Ово су подразумевани додаци: [width="100%", cols="1,5", options="header"] |=== | Додатак | Опис | alias | Дефиниција алијаса за команде. | buflist | Ставка траке са листом бафера. | charset | Декодирање/кодирање у скуп карактера за бафере. | exec | Извршавање спољних команди из програма WeeChat. | fifo | FIFO пајп који се користи за удаљено слање команди програму WeeChat. | fset | Брзо постављање опција програма WeeChat и опција додатака. | irc | IRC чет протокол. | logger | Логовање бафера у фајлове. | relay | Релеј података преко мреже. | script | Управљач скриптама. | python | Python API . | perl | Perl API скриптовања. | ruby | Ruby API скриптовања. | lua | Lua API скриптовања. | tcl | Tcl API скриптовања. | guile | Guile (scheme) API скриптовања. | javascript | JavaScript API скриптовања. | php | PHP API скриптовања. | spell | Провера правописа за командну линију. | trigger | Замена текста и извршавање команди приликом догађаја које окида програм WeeChat/додаци. // TRANSLATION MISSING | typing | Display users currently writing messages. | xfer | Пренос фајлова и директни разговор. |=== За више информација о развоју додатака или скрипти (помоћу API), молимо вас да прочитате link:weechat_plugin_api.sr.html[WeeChat референтно упутство за API додатака] или link:weechat_scripting.sr.html[WeeChat водич за скриптовање]. [[alias_plugin]] === Алијас Алијас додатак вам омогућава да креирате алијасе за команде (из програма WeeChat или осталих додатака). Неки алијаси се подразумевано креирају, са именом исписаним великим словима (како би се разликовали од обичних команди); у програму WeeChat команде не разликују величину слова, тако да на пример, `/close` покреће алијас `/CLOSE`. Листа подразумеваних алијаса: include::includes/autogen_user_default_aliases.sr.adoc[tag=default_aliases] [[alias_commands]] ==== Команде include::includes/autogen_user_commands.sr.adoc[tag=alias_commands] [[alias_options]] ==== Опције Одељци у фајлу _alias.conf_: [width="100%", cols="3m,6m,16", options="header"] |=== | Одељак | Команда за контролу | Опис | cmd | <> + /set alias.cmd.* | Команде за алијасе. | completion | <> + /set alias.completion.* | Довршавања за алијасе. |=== [[buflist_plugin]] === Buflist Buflist додатак приказује листу бафера у ставки траке која се зове „buflist” (такође су доступне још две ставке траке „buflist2” и „buflist3”). + Подразумевана трака „buflist” са овом ставком се креира током покретања програма. [[buflist_commands]] ==== Команде include::includes/autogen_user_commands.sr.adoc[tag=buflist_commands] [[buflist_options]] ==== Опције Одељци у фајлу _buflist.conf_: [width="100%", cols="3m,6m,16", options="header"] |=== | Одељак | Команда за контролу | Опис | format | /set buflist.format.* | Формати који се користе за приказ листе бафера. | look | /set buflist.look.* | Изглед и осећај. |=== Опције: include::includes/autogen_user_options.sr.adoc[tag=buflist_options] [[charset_plugin]] === Charset Charset додатак вам омогућава да декодирате и кодирате податке употребом скупова карактера. Постоји подразумевани скуп карактера за декодирање/кодирање, као и одређени скупови карактера за бафере (или групу бафера). Овај додатак није обавезан, али се препоручује његова употреба: ако се не учита, програм WeeChat може да чита/пише само UTF-8 податке. Програм WeeChat би требало аутоматски да учитава charset додатак. Да бисте били сигурни да је учитан, покушајте следеће: ---- /charset ---- Ако се команда не пронађе, онда учитајте додатак командом: ---- /plugin load charset ---- Ако додатак не може да се пронађе, онда би требало поново да компајлирате програм WeeChat са додацима и подршком за Charset. Када се charset додатак покрене, он приказује скуп карактера терминала као и интерни скуп карактера. Скуп карактера терминала зависи од вашег локал подешавања, а интерно је UTF-8. На пример: .... charset: терминал: ISO-8859-15, интерно: UTF-8 .... [[charset_set]] ==== Постављање скупа карактера Ако желите да поставите глобалне скупове карактера за кодирање и декодирање, употребите команду `/set`. На пример: ---- /set charset.default.decode ISO-8859-15 /set charset.default.encode ISO-8859-15 ---- Ако се не постави глобални скуп карактера за декодирање (на пример током првог учитавања Charset додатка), он ће се аутоматски поставити на скуп карактера који користи терминал (у случају да није UTF-8), или подразумевано на _ISO-8859-1_. Подразумевана вредност за кодирање је празна, тако да се подразумевано шаље употребом интерног скупа карактера (UTF-8). Ако желите да поставите скуп карактера IRC сервера, употребите команду `/charset` у серверском баферу. Ако наведете само скуп карактера, онда ће команда поставити вредности за декодирање и кодирање. На пример: ---- /charset ISO-8859-15 ---- Еквивалентно је са: ---- /charset decode ISO-8859-15 /charset encode ISO-8859-15 ---- Ако желите да поставите скуп карактера за IRC канал (или приватни разговор), употребите исте команде као за сервер, али у баферу канала (или приватног разговора). Ако желите да поставите скуп карактера за све канале/приватне разговоре на IRC серверу: ---- /set charset.encode.irc.libera ISO-8859-15 ---- Да бисте видели све коришћене скупове карактера, извршите следећу команду: ---- /set charset.* ---- [[charset_troubleshooting]] ==== Решавање проблема Ако имате било каквих проблема са скуповима карактера, молимо вас да погледате link:weechat_faq.sr.html#charset[WeeChat ЧПП / Скуп карактера]. [[charset_commands]] ==== Команде include::includes/autogen_user_commands.sr.adoc[tag=charset_commands] [[charset_options]] ==== Опције Одељци у фајлу _charset.conf_: [width="100%", cols="3m,6m,16", options="header"] |=== | Одељак | Команда за контролу | Опис | default | /set charset.default.* | Подразумевани скуп карактера за декодирање/кодирање. | decode | <> + /set charset.decode.* | Скуп карактера у који се декодира по баферу (у одељку је могуће додавање/уклањање опција). | encode | <> + /set charset.encode.* | Скуп карактера у који се кодира, по баферу (у одељку је могуће додавање/уклањање опција). |=== Опције: include::includes/autogen_user_options.sr.adoc[tag=charset_options] [[exec_plugin]] === Exec Команда `/exec` вам омогућава да извршите спољне команде из програма WeeChat и да локално прикажете њихов излаз, или да га пошаљете у бафер. [[exec_commands]] ==== Команде include::includes/autogen_user_commands.sr.adoc[tag=exec_commands] [[exec_options]] ==== Опције Одељци у фајлу _exec.conf_: [width="100%", cols="3m,6m,16", options="header"] |=== | Одељак | Команда за контролу | Опис | command | /set exec.command.* | Опције за команде. | color | /set exec.color.* | Боје. |=== Опције: include::includes/autogen_user_options.sr.adoc[tag=exec_options] [[fifo_plugin]] === Fifo Програм WeeChat можете даљински да контролишете слањем команди или текста у FIFO пајп (ако је укључена опција „fifo.file.enabled”, што је подразумевано). FIFO пајп се налази у WeeChat директоријуму за време извршавања (runtime) и подразумевано се зове _weechat_fifo_12345_ (где је _12345_ id процеса програма WeeChat). Синтакса за FIFO пајп команде/текст је једно од следећих: .... plugin.buffer *овде иде текст или команда *овде иде текст или команда .... Неки примери: * Измена надимка на IRC серверу libera на „newnick”: ---- $ echo 'irc.server.libera */nick newnick' >/run/user/1000/weechat/weechat_fifo_12345 ---- * Слање поруке на #weechat IRC канал: ---- $ echo 'irc.libera.#weechat *hello!' >/run/user/1000/weechat/weechat_fifo_12345 ---- * Слање поруке у текући бафер: ---- $ echo '*здраво!' >/run/user/1000/weechat/weechat_fifo_12345 ---- * Слање две команде за уклањање из меморије/поновно учитавање Python скрипти (морате да их раздвојите са „\n”): ---- $ printf '%b' '*/python unload\n*/python autoload\n' >/run/user/1000/weechat/weechat_fifo_12345 ---- [[fifo_commands]] ==== Команде include::includes/autogen_user_commands.sr.adoc[tag=fifo_commands] [[fifo_options]] ==== Опције Одељци у фајлу _fifo.conf_: [width="100%", cols="3m,6m,16", options="header"] |=== | Одељак | Команда за контролу | Опис | file | /set fifo.file.* | Контрола FIFO пајпа. |=== Опције: include::includes/autogen_user_options.sr.adoc[tag=fifo_options] [[fset_plugin]] === Fset Fast Set додатак приказује листу опција у баферу и помаже вам да постављате WeeChat опције и опције додатака. [[fset_commands]] ==== Команде include::includes/autogen_user_commands.sr.adoc[tag=fset_commands] [[fset_options]] ==== Опције Одељци у фајлу _fset.conf_: [width="100%", cols="3m,6m,16", options="header"] |=== | Одељак | Команда за контролу | Опис | color | /set fset.color.* | Боје. | format | /set fset.format.* | Формати који се користе за приказ команди. | look | /set fset.look.* | Изглед и осећај. |=== Опције: include::includes/autogen_user_options.sr.adoc[tag=fset_options] [[irc_plugin]] === IRC IRC додатак је дизајниран за чет са другим људима преко IRC протокола. Подржава више сервера и нуди све подржане IRC команде, укључујући DCC чет и пренос фајлова (преко xfer додатка, погледајте <>). [[irc_command_line_options]] ==== Опције командне линије URL за један или више IRC сервера може да се зада на следећи начин: ---- irc[6][s]://[надимак[:лозинка]@]irc.пример.org[:порт][/канал][,канал[...]] ---- Пример за приступ каналима _#weechat_ и _#weechat-fr_ на серверу _irc.libera.chat_,подразумевани порт (6667), користећи надимак _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..