Author: Sébastien Helleu

# WeeChat ЧПП (Често Постављана Питања)

Sébastien Helleu
flashcode@flashtux.org
version 3.7

Превод:

- Иван Пешић (<ivan.pesic@gmail.com>), 2021.

Овај документ је написан за програм WeeChat верзије ≥ 0.3.0 али је пожељно да се користи са најновијом стабилном верзијом програма WeeChat.

## 1. Опште

### 1.1. Шта је порекло имена „WeeChat”?

„Wee” је рекурзивни акроним који значи „Wee Enhanced Environment”. (Wee Унапређено Окружење) Тако да је комплетно име „Wee Enhanced Environment for Chat”.

„Wee” такође значи и „веома мало” (јесте, постоји и друго значење, али се оно не примењује за WeeChat!).

### 1.2. Зашто да изаберем WeeChat? X-Chat и Irssi су толико добри…​

Јер WeeChat уопште не оптерећује систем и доноси иновативне могућности.

Више информација у вези са WeeChat је на страници са могућностима ↗.

## 2. Компајлирање / инсталација

### 2.1. Чуо сам о многим ГКИ за WeeChat. Како да их компајлирам/користим?

Доступни су неки удаљени ГКИ, погледајте страницу са удаљеним ГКИ ↗.

### 2.2. Након клонирања git репозиторијума не могу да компајлирам програм WeeChat, зашто?

Препоручени начин да за компајлирање програма WeeChat је помоћу CMake ↗.

Ако компајлирате са autotools ↗ (а не са CMake), проверите да ли поседујете најновију верзију пакета autoconf и automake.

Други начин је да се инсталира „devel package”, што тражи мање зависности. Овај пакет се се изграђује скоро свакодневно користећи git репозиторијум. Приметите да овај пакет можда није потпуно исти као git база, као и да је инсталирање ажурирања компликованије него просто git клонирање.

### 2.3. Како да инсталирам програм WeeChat на macOS систем?

Препоручује се употребите Homebrew ↗, помоћ можете добити са:

    brew info weechat

Програм WeeChat можете да инсталирате следећом командом:

    brew install weechat

### 2.4. Покренуо сам програм WeeChat, али не знам шта даље?

За помоћ можете да откуцате `/help`. За помоћ у вези команде, откуцајте `/help команда`. Тастери ↗ и команде ↗ су наведени у документацији.

Препоручује се да нови корисници прочитају Водич за брзи почетак ↗.

## 3. Приказ

### 3.1. Не виде се неки карактери са акцентима, шта да радим?

Ово је уобичајени проблем који има разне узроке, молимо вас да пажљиво прочитате и пробате СВА решења наведена ниже:

- Проверите да је weechat повезан са libncursesw (упозорење: потребно на многим дистрибуцијама, али не на свим): `ldd /путања/до/weechat`.

- Провери да је „charset” додатак учитан командом `/plugin` (ако није, онда вам је највероватније потребан „weechat-plugins” пакет).

- Проверите излаз команде `/charset` (над core бафером). Требало би да видите ISO-XXXXXX или UTF-8 за скуп карактера терминала. Ако видите ANSI_X3.4-1968 или остале вредности, највероватније вам је погрешан локале.
  Да поправите свој локале, погледајте инсталиране локале са `locale -a` и поставите одговарајућу вредност у променљиву $LANG, на пример: `export LANG=sr_RS.UTF-8`.

- Поставите глобалну вредност за декодирање, на пример: `/set charset.default.decode "ISO-8859-15"`.

- Ако користите UTF-8 локале:

  - Проверите да ли ваш терминал подржава UTF-8 (препоручени терминал за UTF-8 је rxvt-unicode).

  - Ако користите screen, проверите да се извршава у UTF-8 режиму („`defutf8 on`” у ~/.screenrc или покрените screen са `screen -U`).

- Проверите да је опција weechat.look.eat_newline_glitch ↗ искључена (ова опција може да изазове багове у приказу).

| За програм WeeChat се препоручује UTF-8 локале. Ако користите ISO или неки други локале, молимо вас да проверите ли су сва ваша подешавања (терминал, screen, …​) ISO, а не UTF-8.

### 3.2. Неки уникод карактери се приказују у терминалу, али не у програму WeeChat, зашто?

Узрок овом проблему може бити libc баг у функцији wcwidth, који би требало да је исправљен у glibc 2.22 (можда још увек није доступна у вашој дистрибуцији).

Постоји решење да се користи исправљена wcwidth функција: https://blog.nytsoi.net/2015/05/04/emoji-support-for-weechat ↗.

За више информација, погледајте овај извештај о багу ↗.

### 3.3. Траке као што су насловна и статусна нису испуњене, боја позадине се прекида након текста, зашто?

Узрок овоме може бити погрешна вредност променљиве TERM и важем командном окружењу (погледајте излаз команде `echo $TERM` у свом терминалу).

У зависности од тога где сте покренули програм WeeChat, требало би да имате:

- Ако се програм WeeChat извршава локално или на удаљеној машини без screen и без tmux, зависи од врсте терминала који користите: xterm, xterm-256color, rxvt-unicode, rxvt-256color, итд.

- Ако се програм WeeChat извршава под screen, требало би да добијете screen или screen-256color.

- Ако се програм WeeChat извршава под tmux, требало би да добијете tmux, tmux-256color, screen или screen-256color.

Ако је потребно, исправите своју TERM променљиву: `export TERM="xxx"`.

### 3.4. Када програм weechat користим под screen/tmux, приказују ми се чудни карактери, како то да поправим?

Разлог за ово може бити погрешна вредност променљиве TERM у вашем командном окружењу (погледајте излаз команде `echo $TERM` у свом терминалу, ван screen/tmux).
На пример, xterm-color може да прикаже такве чудне карактере, па можете да користите xterm што је OK (као и многе друге вредности).
Ако је потребно, исправите своју TERM променљиву: `export TERM=„xxx”`.

Ако користите gnome-terminal, проверите да ли је опција „Ambiguous-width characters” у менију Preferences/Profile/Compatibility постављена на `narrow`.

### 3.5. Компајлирао сам програм WeeChat под macOS, и свуда на екрану видим „(null)”, шта није у реду?

Ако сте сами компајлирали ncursesw, покушајте да користите стандардни ncurses (који долази уз систем).

Уз то, на macOS систему се препоручује да се програм WeeChat инсталира са Homebrew менаџером пакета.

### 3.6. Чуо сам о „баферима” и „прозорима”, у чему је разлика?

бафер се састоји из броја, имена, приказаних линија (и још неких података).

прозор је површина екрана која приказује бафер. Свој екран можете да изделите на више прозора.

Сваки прозор приказује један бафер, или скуп спојених бафера. Бафер може бити скривен (тада се не приказује у прозору) или може да се приказује у једном или више прозора.

### 3.7. Како да се са леве стране прикаже листа бафера?

У WeeChat ≥ 1.8, додатак buflist ↗ се подразумевано учитава и укључује.

У старијој верзији можете инсталирате скрипту buffers.pl:

    /script install buffers.pl

Ако желите да ограничите величину траке (замените „buflist” са „buffers” ако користите скрипту buffers.pl):

    /set weechat.bar.buflist.size_max 15

Ако траку желите да померите на дно:

    /set weechat.bar.buflist.position bottom

Ако желите да скролујете траку: у случају да је укључен миш (тастер: `Alt`+`m`), траку можете да скролујете точкићем миша.

Подразумевани тастери за скроловање buflist траке су `F1` (или `Ctrl`+`F1`), `F2` (или `Ctrl`+`F2`), `Alt`+`F1` и `Alt`+`F2`.

За скрипту buffers.pl, тастере можете да дефинишете слично постојећим тастерима за скроловање листе надимака.
На пример да користите `F1`, `F2`, `Alt`+`F1` и `Alt`+`F2`:

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

| Тастери „meta-OP” и „meta-OQ” могу да се разликују у вашем терминалу. За проналажење кода тастера, притисните `Alt`+`k` па затим жељени тастер.

### 3.8. Како могу да прилагодим листу бафера, као на пример боју активног бафера?

Све buflist опције можете да погледате командом:

    /fset buflist

Позадина активног бафера је подразумевано плава, можете да је промените на следећи начин, на пример, на `red`:

    /set buflist.format.buffer_current "${color:,red}${format_buffer}"

| Испред имена боје „red” постоји запета јер се користи као позадина, а не као боја текста. Уместо `red` можете да употребите било коју нумеричку боју, као што је `237` за тамно сиву.

Додатак buflist обезбеђује доста опција које можете да прилагодите својим потребама, молимо вас да прочитате помоћ у вези сваке опције.

Такође постоји и вики страница ↗ са примерима напредне конфигурације додатка buflist.

### 3.9. Како да скратим дужину надимака или да уклоним поравнање надимка у простору за разговор?

Ако желите да у простору за разговор скратите максималну дужину надимака:

    /set weechat.look.prefix_align_max 15

Ако желите да уклоните поравнање надимака:

    /set weechat.look.prefix_align none

### 3.10. Шта значи [H: 3(1,8), 2(4)] у статусној траци?

Ово се зове „врућа листа”, листа бафера са бројем порука које нисте прочитали, у следећем редоследу: истицања, приватне поруке, поруке, остале поруке (као што су join/part).
Број „порука које нисте прочитали” је број нових порука приказаних/примљених од када сте посетили бафер.

У примеру `[H: 3(1,8), 2(4)]`, има:

- 1 истицање и 8 непрочитаних порука у баферу #3,

- 4 непрочитане поруке у баферу #2.

Боја бафера/бројача зависи од типа поруке, ово су подразумеване боје:

- истицање: `lightmagenta` / `magenta`

- приватна порука: `lightgreen` / `green`

- порука: `yellow` / `brown`

- остале поруке: `default` / `default` (боја текста у терминалу)

Ове боје могу да се промене опцијама weechat.color.status_data_* (бафери) и weechat.color.status_count_* (бројачи).
Остале опције вруће листе могу да се промене опцијама weechat.look.hotlist_*.

За више информација у вези вруће листе, погледајте Корисничко упутство / Распоред екрана ↗.

### 3.11. Како се користи командна линија са више од једне линије?

Опција size у траци уноса може да се постави на вредност већу од 1 (за фиксну величину, подразумевана величина је 1) или на 0 за динамичку величину, у ком случају опција size_max поставља максималну величину (0 = без ограничења).

Пример са динамичком величином:

    /set weechat.bar.input.size 0

Максимална величина 2:

    /set weechat.bar.input.size_max 2

### 3.12. Да ли је могуће да се за све прозоре прикаже само једна трака за унос (након поделе)?

Могуће је, потребно је да креирате траку типа „root” (са ставком која ће вам говорити у ком прозору се налазите), па затим да обришете текућу траку за унос.

На пример:

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

У случају да нисте задовољни са овим, једноставно обришите нову траку и програм WeeChat ће аутоматски да креира подразумевану траку „input” у случају да се ставка „input_text” не користи ни у једној постојећој траци:

    /bar del rootinput

### 3.13. Како могу да копирам/налепљујем текст без налепљивања листе надимака?

У WeeChat ≥ 1.0 можете да користите огољени приказ (подразумевани тастер: `Alt`+`l` (`L`)), који приказује само садржај тренутно изабраног прозора, без икаквог форматирања.

Можете да користите терминал са правоугаоним избором (као rxvt-unicode, konsole, gnome-terminal, итд.). Тастер је обично `Ctrl` + `Alt` + извор мишем.

Друго решење је да листу надимака померите на врх или дно, на пример:

    /set weechat.bar.nicklist.position top

### 3.14. Како да кликнем на дугачке URL адресе (које заузимају више од једне линије)?

У WeeChat ≥ 1.0 можете да користите огољени приказ (подразумевани тастер: `Alt`+`l` (`L`)).

Ако желите да олакшате отварање URL адреса, можете да:

- померите листу надимака на врх:

    /set weechat.bar.nicklist.position top

- искључите поравнање за речи које се простиру на више линија (WeeChat ≥ 1.7):

    /set weechat.look.align_multiline_words off

- или за све обавијене линије:

    /set weechat.look.align_end_of_lines time

У WeeChat ≥ 0.3.6 можете да укључите опцију „eat_newline_glitch”, тако да се карактер прелома линије не додаје на крај сваке приказане линије (па се неће преломити избор URL адресе):

    /set weechat.look.eat_newline_glitch on

| Ова опција може да буде узрок багова у приказу. Ако имате такве проблеме, морате да искључите ову опцију.

Друго решење је да користите скрипту:

    /script search url

### 3.15. Желим да променим језик који програм WeeChat користи за поруке, али без прекида извршавања програма WeeChat, да ли је то могуће?

Наравно да је могуће:

    /set env LANG sr_RS.UTF-8
    /upgrade

### 3.16. Како могу да променим временску зону?

У програму WeeChat не постоји опција за промену временске зоне, променљиву окружења `TZ` морате да поставите на жељену вредност.

У иницијализационом фајлу свог командног окружења или на командној линији, пре покретања програма WeeChat:

    export TZ=America/New_York

Из програма WeeChat, нова вредност се користи тренутно:

    /set env TZ America/New_York

### 3.17. Како да користим 256 боја у програму WeeChat?

256 боја подржава програм WeeChat верзије ≥ 0.3.4.

Најпре проверите да ли је вредност ваше променљиве окружења TERM исправна, препоручене вредности су следеће:

- под screen: screen-256color

- под tmux: screen-256color или tmux-256color

- ван screen/tmux: xterm-256color, rxvt-256color, putty-256color, …​

| Можда ће бити потребно да инсталирате пакет „ncurses-term” како бисте могли да у TERM променљивој користите ове вредности.

Ако користите screen, можете да додате следећу линију у свој ~/.screenrc:

    term screen-256color

Ако је вредност ваше TERM променљиве погрешна и програм WeeChat се већ извршава, можете да је промените помоћу следеће две команде (у WeeChat ≥ 1.0):

    /set env TERM screen-256color
    /upgrade

У верзији 0.3.4 морате да употребите команду `/color` да додате нове боје.

У верзијама ≥ 0.3.5 можете да користите било који број боје у опцијама (није обавезно: командом `/color` можете да дефинишете алијасе боја).

За више информација у вези управљања бојама, молимо вас да прочитате Корисничко упутство / Боје ↗.

### 3.18. Како могу да претражујем текст у баферу (као /lastlog у програму irssi)?

Подразумевани тастер је `Ctrl`+`r` (команда је: `/input овде_текст_претраге`). И скок на истицања: `Alt`+`p` / `Alt`+`n`.

За више о овој могућности, погледајте Корисничко упутство / Тастерске пречице ↗.

### 3.19. Како могу да извршим команде када терминал добије/изгуби фокус?

Морате да укључите фоку догађаје тако што терминалу пошаљете специјални кôд.

Важно:

- Морате да користите модерни xterm-компатибилни терминал.

- Уз то, изгледа да је важно и да вредност ваше TERM променљиве буде xterm или xterm-256color.

- Ако користите tmux, морате да укључите фокус догађаје постављањем `set -g focus-events on` у свој .tmux.conf фајл.

- Ово не функционише у програму screen.

Ако желите да се кôд пошаље током покретања програма WeeChat:

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

и да затим вежете две пречице за фокус (замените `/print` команде командама по свом избору):

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

Ако желите, на пример, да означите бафере као прочитане када терминал изгуби фокус:

    /key bind meta2-O /input set_unread

### 3.20. Зашто када се програм WeeChat извршава у screen налепљивање текста у други screen прозор додаје ~0 и ~1 око текста?

Узрок овоме је опција ограђеног налепљивања, која је подразумевано укључена, а screen је не обрађује како треба у осталим прозорима.

Једноставно можете да искључите режим ограђеног налепљивања:

    /set weechat.look.paste_bracketed off

### 3.21. Како могу да прилагодим приказ на веома малој величини терминала (као што је 80x25), како се не би траћио простор?

Можете да уклоните бочне траке (buflist и nicklist), промените формат времена тако да се приказују само сати и минути, искључите поравнање порука и поставите карактер за префикс/суфикс надимка:

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

Терминал 80x25, са подразумеваном конфигурацијом:

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

Терминал 80x25, након измена:

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

## 4. Тастерске пречице

### 4.1. Неки meta тастери (alt + тастер) не функционишу, зашто?

Ако користите неке терминале као што су xterm или uxterm, неки meta тастери подразумевано не функционишу. Можете додати линију у фајл ~/.Xresources:

- За xterm:

    XTerm*metaSendsEscape: true

- За uxterm:

    UXTerm*metaSendsEscape: true

Па да поново учитате ресурсе (`xrdb -override ~/.Xresources`) или поново покренете X.

Ако користите macOS Terminal апликацију, укључите опцију „Use option as meta key” у менију Settings/Keyboard након чега можете користити тастер `Option` као meta тастер.

### 4.2. Како могу да прилагодим тастерске пречице?

Тастерске пречице можете да прилагодите командом `/key`.

Подразумевани тастер `Alt`+`k` вам омогућава да покупите кôд и убаците га у командн линију.

### 4.3. Којим тастером се скаче на бафер 11 (или неки вечи број)?

Тастер је `Alt`+`j` па затим 2 цифре, на пример `Alt`+`j`, `1`, `1` ако желите да скочите на бафер 11.

Можете и да вежете тастер, на пример:

    /key bind meta-q /buffer *11

Листа подразумеваних тастера је у Корисничко упутство / Тастерске пречице ↗.

Ако желите да скочите на бафере са бројем ≥ 100, можете да дефинишете окидач па да онда користите команде као што је `/123` за скок на бафер #123:

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

### 4.4. Како да се тастерима горе и доле користи глобална историја (уместо историје бафера)?

Можете да вежете тастере горе и доле за глобалну историју (подразумевани тастери за глобалну историју су `Ctrl`+`↑` и `Ctrl`+`↓`).

Пример:

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

| Тастери „meta2-A” и „meta2-B” могу бити различити на вашем терминалу. Да бисте пронашли кôд тастера, притисните `Alt`+`k` па онда тастер.

## 5. Миш

### 5.1. Миш уопште не функционише, шта да радим?

Миш се подржава у верзијама програма WeeChat ≥ 0.3.6.

Најпре покушајте да укључите миша:

    /mouse enable

Ако миш и након тога не ради, проверите вредност променљиве TERM у вашем командном окружењу, (погледајте излаз `echo $TERM` у терминалу). У зависности од тога који terminfo се користи, миш можда није подржан.

Подршку за миша можете тестирати у терминалу са:

    $ printf '\033[?1002h'

па затим кликните на први карактер терминала (горњи леви). Требало би да видите „ !!#!!”.

Ако желите да искључите употребу миша у терминалу:

    $ printf '\033[?1002l'

### 5.2. Миш не ради ништа за X или Y веће од 94 (или 222), зашто?

Неки терминали за координате миша шаљу само ISO карактере, а они не функционишу за X/Y веће од 94 (или 222).

Требало би да користите терминал који подржава UTF-8 координате за миша, као што је rxvt-unicode.

### 5.3. Како могу у терминалу да изаберем или налепим текст када је у програму WeeChat укључен миш?

Када је у програму WeeChat укључен миш, за избор можете да користите модификатор `Shift` или клик у терминалу, као да је миш искључен (на неким терминалима као што је iTerm, морате да користите `Alt` уместо `Shift`).

## 6. IRC

### 6.1. Имам проблеме са повезивањем на сервер преко SSL, шта може да се уради?

Ако користите macOS, морате инсталирати `openssl` из Homebrew. CA фајл ће се добавити употребом сертификата из системског свежња кључева.

У програму WeeChat ≤ 3.1, онда можете да поставите путању до системских сертификата:

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

Ако добијате грешке у вези gnutls руковања, можете покушати са мањим Дифи-Хелман кључем (подразумевани је дужине 2048):

    /set irc.server.example.ssl_dhkey_size 1024

Ако видите грешке у вези сертификата, можете да искључите „ssl_verify” (али будите веома опрезни, због овога су везе мање безбедне):

    /set irc.server.example.ssl_verify off

Ако сервер поседује неважећи сертификат, а знате какав би он требало да буде, можете да наведете отисак (SHA-512, SHA-256 или SHA-1):

    /set irc.server.example.ssl_fingerprint 0c06e399d3c3597511dc8550848bfd2a502f0ce19883b728b73f6b7e8604243b

### 6.2. Када се успоставља веза са сервером преко SSL, видим само грешку „TLS handshake failed”, шта да радим?

Можете да покушате са другачијим стрингом приоритета (само WeeChat ≥ 0.3.5), замените „xxx” са именом вашег сервера:

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

### 6.3. Како да се повежем са libera сервером преко SSL?

У WeeChat ≤ 3.1, поставите опцију weechat.network.gnutls_ca_file на фајл са сертификатима:

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

Напомена: ако се програм извршава на macOS са инсталираним homebrew openssl, можете да урадите следеће:

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

| Проверите да на свом систему имате овај фајл (обично га инсталира пакет „ca-certificates”).

Поставите порт сервера, SSL, затим се повежите:

    /set irc.server.libera.addresses "irc.libera.chat/6697"
    /set irc.server.libera.ssl on
    /connect libera

### 6.4. Како да се повежем са сервером који захтева „oauth”?

Неки сервери као што је twitch захтевају oauth за повезивање.

oauth је једноставно лозинка која има вредност „oauth:XXXX”.

Такав сервер можете да додате и да се повежете са њим користећи следеће команде (замените име и адресу са одговарајућим вредностима):

    /server add име irc.server.org -password=oauth:XXXX
    /connect име

### 6.5. Како могу да се идентификујем пре приступа каналима?

Ако сервер подржава SASL, требало би то да користите уместо да шаљете команду за nickserv аутентификацију, на пример:

    /set irc.server.libera.sasl_username "mynick"
    /set irc.server.libera.sasl_password "xxxxxxx"

Ако сервер не подржава SASL, можете да додате кашњење (између команде и приступа каналима):

    /set irc.server.libera.command_delay 5

### 6.6. Како да додам/уклоним канале из autojoin опције?

У WeeChat ≥ 3.5, можете аутоматски да забележите канале којима ручно приступате и које напуштате у „autojoin” серверској опцији.

За све сервере:

    /set irc.server_default.autojoin_dynamic on

За један сервер:

    /set irc.server.libera.autojoin_dynamic on

Са WeeChat ≥ 3.5, текући канал можете да додате у „autojoin” серверску опцију и употребом `/autojoin` команде:

    /autojoin add

Или неки други канал:

    /autojoin add #test

Са WeeChat ≤ 3.4, можете да употребите команду `/set` и да уредите листу autojoin канала, на пример за „libera” сервер:

    /set irc.server.libera.autojoin [TAB]

| Можете да довршите име и вредност опције са `Tab` тастер (или `Shift`+`Tab` за делимично довршавање, корисно за име). На овај начин не морате да откуцате комплетну листу канала.

За уређивање листе канала можете да употребите и команду `/fset`:

    /fset autojoin

Са WeeChat ≤ 3.4, друго решење је да употребите скрипту:

    /script search autojoin

### 6.7. У чему је разлика између команди /ignore и /filter?

Команда `/ignore` је IRC команда, тако да се примењује само на IRC бафере (сервере и канале). Она вам омогућава да игноришете неке надимке или имена хостова корисника сервера или канала (команда се не примењује на садржај порука). IRC додатак брише поруке које се подударају пре него што се прикажу (тако да их уопште нећете видети, а не могу ни да се врате уклањањем игнорисања).

Команда `/filter` је команда језгра програма WeeChat, тако да се примењује на било који бафер. Помоћу ње можете да филтрирате неке линије у баферима са ознакама или регуларним изразом за префикс и садржај линије. Филтриране линије се само скривају, не бришу се, тако да их можете видети ако искључите филтере (тастер `Alt`+`=` подразумевано пребацује стање филтера).

### 6.8. Како могу да филтрирам join/part/quit поруке на IRC каналима?

Са паметним филтером (задржава join/part/quit од корисника који су недавно говорили):

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

Са глобалним филтером (скрива све join/part/quit):

    /filter add joinquit * irc_join,irc_part,irc_quit *

| За помоћ: `/help filter`, `/help irc.look.smart_filter` и погледајте Корисничко упутство / Паметни филтер за join/part/quit поруке ↗.

### 6.9. Како да филтрирам неке поруке које се приказују када приступим IRC каналу?

Са програмом WeeChat верзије ≥ 0.4.1, можете да изаберете које се поруке приказују приликом присупања каналу опцијом irc.look.display_join_message (за више информација, погледајте `/help irc.look.display_join_message`).

Ако желите да сакријете поруке (али да их задржите у баферу), можете да их филтрирате употребом ознаке (на пример irc_329 за датум креирања канала). За помоћ у вези филтера, погледајте `/help filter`.

### 6.10. Како да филтрирам поруке корисника са правом гласа (нпр. на Bitlbee серверу)?

Поруке корисника са правом гласа не могу једноставно да се филтрирају јер режим права гласа може да се постави заједно са осталим режимима у истој IRC поруци.

Ако то желите да урадите, највероватнији разлог је што Bitlbee користи поруке корисника са правом гласа како би приказао одсутне кориснике, па вас затрпава порукама са правом гласа. Дакле, ово можете да измените и допустите да програм WeeChat користи специјалну боју за надимке у листи надимака који су одсутни.

За Bitlbee ≥ 3, задајте следеће на контролном каналу &bitlbee:

    channel set show_users online,away

За старије верзије програма Bitlbee, задајте следеће на контролном каналу &bitlbee:

    set away_devoice false

За проверу одсутних надимака у програму WeeChat, погледајте питање у вези одсутних надимака.

Ако заиста желите да филтрирате поруке корисника са правом гласа, можете употребити следећу команду, али она није савршена (радиће само ако је први промењени режим voice):

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

### 6.11. Како у листи надимака могу да видим одсутне надимке?

Морате да поставите опцију irc.server_default.away_check на позитивну вредност (број минута између провера на одсутне надимке).

Ако желите да проверу одсутности ограничите само на мале канале, поставите опцију irc.server_default.away_check_max_nicks.

На пример, ако желите да се провера на одсутност надимака врши сваких 5 минута, за канале са макс 24 надимака:

    /set irc.server_default.away_check 5
    /set irc.server_default.away_check_max_nicks 25

| У WeeChat ≤ 0.3.3, опције су irc.network.away_check и irc.network.away_check_max_nicks.

### 6.12. Како могу да добијем упозорење када ме неко означи (истакне) на каналу?

У програму WeeChat верзије ≥ 1.0, постоји подразумевани окидач „beep” који шаље BEL терминалу када се догоди истицање или стигне приватна порука. Тако да свој терминал (или мултиплексер као што је screen/tmux) можете подесити да изврши команду или да одсвира звук када прими BEL.

Или можете да додате команду у „beep” окидач:

    /set trigger.trigger.beep.command "/print -beep;/exec -bg /путања/до/команде аргументи"

У старијим верзијама програма WeeChat, можете да употребите скрипту као што је beep.pl или launcher.pl.

За launcher.pl, морате да подесите команду:

    /set plugins.var.perl.launcher.signal.weechat_highlight "/путања/до/команде аргументи"

Остале скрипте на ову тему:

    /script search notify

### 6.13. Како могу да искључим истицање за одређене надимке?

У програму WeeChat верзије ≥ 0.3.4 можете да употребите hotlist_max_level_nicks_add ↗ особину бафера да поставите максимални ниво вруће листе за неке надимке, за сваки бафер посебно, или за групу бафера (као што су IRC сервери).

Ако само желите да искључите истицања, треба да је поставите на 2:

    /buffer set hotlist_max_level_nicks_add joe:2,mike:2

Међутим, ова особина бафера се не чува у конфигурацији. Ако желите да се ове особине бафера аутоматски поново примене, биће вам потребна скрипта buffer_autoset.py:

    /script install buffer_autoset.py

На пример, ако за стално желите да искључите истицања од надимка „mike” са #weechat на IRC серверу libera:

    /buffer_autoset add irc.libera.#weechat hotlist_max_level_nicks_add mike:2

Ако уместо овога желите да се примени на комплетан libera сервер:

    /buffer_autoset add irc.libera hotlist_max_level_nicks_add mike:2

За још примера, погледајте `/help buffer_autoset`.

### 6.14. Како могу да променим циљни бафер за команде над спојеним баферима (као што је бафер са серверима)?

Подразумевани тастер је `Ctrl`+`x` (команда је: `/input switch_active_buffer`).

## 7. Додаци / скрипте

### 7.1. Користим OpenBSD и програм WeeChat уопште не учитава додатке, шта није у реду?

Под OpenBSD, имена фајлова додатака се завршавају са „.so.0.0” („.so” за Linux).

То морате да подесите:

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

### 7.2. Како могу да инсталирам скрипте? Да ли су скрипте компатибилне са осталим IRC клијентима?

У програму WeeChat верзије ≥ 0.3.9 можете да користите команду `/script` за инсталирање и управљање скриптама (за помоћ погледајте `/help script`script). За старије верзије постоје скрипте weeget.py и script.pl.

Скрипте нису компатибилне са осталим IRC клијентима.

### 7.3. Команда „/script update” не може да чита скрипте, како да то поправим?

Најпре погледајте питање у вези SSL везе у овом ЧПП.

Ако још увек не функционише, покушајте ручно да обришете фајл са скриптама (из свог командног окружења):

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

| У програму WeeChat ≤ 3.1, путања би требало да буде: ~/.weechat/script/plugins.xml.gz.

Па у програму WeeChat поново ажурирајте скрипте:

    /script update

Ако још увек наилазите на грешку, онда морате да искључите аутоматско ажурирање фајла у програму WeeChat и да ручно преузмете фајл ван програма WeeChat (то значи да ћете фајл морати ручно да ажурирате онда када желите да добијете ажурирања):

- у програму WeeChat:

    /set script.scripts.cache_expire -1

- у вашем командном окружењу, са инсталираним програмом curl:

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

Ако користите macOS и величина преузетог фајла је 0 бајтова, покушајте да поставите следећу променљиву у иницијализациони фајл ваше љуске или у командној линији, пре покретања WeeChat:

    export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

### 7.4. Инсталирао сам aspell речнике у свој систем, како могу да их користим без потребе да поново покрећем програм WeeChat?

Морате поново да учитате spell додатак:

    /plugin reload spell

| У програму WeeChat верзије ≤ 2.4, „spell” додатак се звао „aspell”, тако да је команда: `/plugin reload aspell`.

## 8. Подешавања

### 8.1. Могу ли ручно да уређујем конфигурационе (*.conf) фајлове?

Можете, али се то НЕ препоручује.

У програму WeeChat се препоручује команда `/set`:

- Име и вредност опције можете да довршите тастером `Tab` (или `Shift`+`Tab` за делимично довршавање, корисно за име).

- Вредност се проверава, у случају грешке се исписује порука.

- Вредност се користи тренутно, нема потребе да се било што поново покреће.

Ако и даље желите да фајлове уређујете ручно, требало би да будете пажљиви:

- Ако као вредност опције поставите неважећу вредност, програм WeeChat ће приликом учитавања да испише грешку и одбациће вредност (користиће се подразумевана вредност те опције).

- Ако се програм WeeChat извршава, мораћете да извршите команду `/reload`, а ако су нека подешавања промењена и нису сачувана командом `/save`, изгубићете их.

### 8.2. Како да подесим програм WeeChat тако да троши мање меморије?

Ако желите да програм троши мање меморије, следите следеће савете:

- Користите последњу стабилну верзију (требало би да има мање цурења меморије од старијих верзија).

- Не учитавајте додатке које заиста и не користите, на пример: buflist, fifo, logger, perl, python, ruby, lua, tcl, guile, javascript, php, spell, xfer (користи се за DCC). Погледајте `/help weechat.plugin.autoload`.

- Учитавајте само скрипте које су вам заста неопходне.

- Не учитавајте системске сертификате ако се SSL НЕ користи: искључите следећу опцију: _weechat.network.gnutls_ca_system.

- Смањите вредност опције weechat.history.max_buffer_lines_number или поставите вредност опције weechat.history.max_buffer_lines_minutes.

- Смањите вредност опције weechat.history.max_commands.

### 8.3. Како да подесим програм WeeChat тако да мање оптерећује CPU?

Можете да следите исте савете као за меморију, као и следеће:

- Сакријте „nicklist” траку: `/bar hide nicklist`.

- Уклоните приказ секунди из времена у статусној траци: `/set weechat.look.item_time_format "%H:%M"` (ово је и подразумевана вредност).

- Искључите проверу неисправно написаних речи у командној линији у реалном времену (ако сте је укључили): `/set spell.check.real_time off`.

- Поставите променљиву TZ (на пример: `export TZ="Europe/Paris"`), тиме спречавате чест приступ фајлу /etc/localtime.

### 8.4. Имам параноју у вези безбедности, која подешавања би требало да изменим како би програм постао још сигурнији?

Искључите IRC part и quit поруке:

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

Искључите одговоре на све CTCP упите:

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

Уклоните из меморије и искључите ауто учитавање „xfer” додатка (користи се за IRC DCC):

    /plugin unload xfer
    /set weechat.plugin.autoload "*,!xfer"

Дефинишите тајну реченицу и где год можете користите обезбеђене податке за осетљиве ствари као што су лозинке: погледајте `/help secure` и `/help` за опције (ако можете да користите обезбеђене податке, написано је у помоћи). Погледајте такође Корисничко упутство / Обезбеђени подаци ↗.

На пример:

    /secure passphrase xxxxxxxxxx
    /secure set libera_username корисничкоиме
    /secure set libera_password xxxxxxxx
    /set irc.server.libera.sasl_username "${sec.data.libera_username}"
    /set irc.server.libera.sasl_password "${sec.data.libera_password}"

### 8.5. Желим да делим своју WeeChat конфигурацију, које фајлови би требало да делим, а шта би требало да оставим приватно?

Можете да делите све конфигурационе фајлове *.conf осим фајла sec.conf, јер он садржи лозинке шифроване вашом тајном реченицом.

И неки други фајлови могу да садрже осетљиве осетљиве информације као што су лозинке (у случају да нису сачуване у sec.conf командом `/secure`).

Погледајте Корисничко упутство / Фајлови и директоријуми ↗ за више информација о конфигурационим фајловима.

## 9. Развој

### 9.1. Како би требало да пријавим багове, тражим нове могућности, или пошаљем закрпе?

Погледајте ови страницу ↗.

### 9.2. Када програм WeeChat покренем под gdb, појави се грешка везана за нити, шта могу да урадим?

Када програм WeeChat покренете под gdb, можете добити следећу грешку:

    $ gdb /путања/до/програма/weechat
    (gdb) run
    [Thread debugging using libthread_db enabled]
    Cannot find new threads: generic error

Да бисте ово исправили, покрените gdb овом командом (замените путању до libpthread и WeeChat са путањама на вашем систему):

    $ LD_PRELOAD=/lib/libpthread.so.0 gdb /путања/до/програма/weechat
    (gdb) run

### 9.3. Како изгледа листа платформи које подржава програм WeeChat? Да ли ће се портовати на друге оперативне системе?

WeeChat се лепо извршава на већини Linux/BSD дистрибуција, GNU/Hurd, Mac OS и Windows (Cygwin и Windows Subsystem for Linux).

Чинимо што год можемо како би се извршавао на што више различитих платформи. Потребна нам је помоћ око неких ОС које не поседујемо, како би могли да тестирамо програм WeeChat.

### 9.4. Желим да помогнем програмерима који развијају програм WeeChat. Како да то учиним?

Постоји много задатака који могу да се ураде (тестирање, програмирање, документација, итд.)

Молимо вас да нас контактирате преко IRC или мејла, погледајте страницу подршке ↗.

### 9.5. Могу ли програмерима програма WeeChat да дам новац или нешто друго?

Можете нам послати новац и помогнете развој програма. Детаљи се налазе на страници донација ↗.